Sessions
Checkout session, bir ödeme işleminin başlangıç noktasıdır. Her ödeme almak istediğinizde önce bir session oluşturmanız gerekir.
Session Oluştur
POST /api/v1/embedded/session
İstek
{
"merchant_api_key": "fbd654ad-6448-4cbc-9780-5cdd3eadb677",
"amount": 15000,
"currency": "TRY",
"customer": {
"name": "Ahmet",
"surname": "Yılmaz",
"email": "[email protected]",
"phone": "+905551234567",
"identity_number": "12345678901",
"ip_address": "192.168.1.1"
},
"success_url": "https://yoursite.com/payment/success",
"fail_url": "https://yoursite.com/payment/fail",
"metadata": {
"order_ref": "ORD-2025-042"
}
}
İstek Parametreleri
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
merchant_api_key | string | Evet | Merchant API Key |
amount | integer | Evet | Tutar (kuruş cinsinden, 1000 = 10,00 TL) |
currency | string | Evet | Para birimi (TRY, USD, EUR) |
customer | object | Evet | Müşteri bilgileri |
customer.name | string | Evet | Müşteri adı |
customer.surname | string | Evet | Müşteri soyadı |
customer.email | string | Evet | E-posta adresi |
customer.phone | string | Hayır | Telefon numarası |
customer.identity_number | string | Hayır | TC kimlik numarası |
customer.ip_address | string | Hayır | IP adresi |
success_url | string | Evet | Başarılı ödeme yönlendirme URL'i |
fail_url | string | Evet | Başarısız ödeme yönlendirme URL'i |
metadata | object | Hayır | Özel alanlar (callback'te geri döner) |
Yanıt
{
"session_id": "ses_a1b2c3d4e5f6g7h8i9j0k1l2",
"checkout_url": "https://checkout.paylox.io?session=ses_a1b2c3d4e5f6g7h8i9j0k1l2",
"expires_at": "2025-01-15T14:30:00Z"
}
| Alan | Tip | Açıklama |
|---|---|---|
session_id | string | Benzersiz oturum kimliği |
checkout_url | string | Hosted Checkout sayfası URL'i |
expires_at | string | Session geçerlilik süresi (1 saat) |
Kod Örnekleri
Python
import requests
import os
response = requests.post(
"https://api.jetcheckout.com/api/v1/embedded/session",
json={
"merchant_api_key": os.environ["PAYLOX_API_KEY"],
"amount": 15000,
"currency": "TRY",
"customer": {
"name": "Ahmet",
"surname": "Yılmaz",
"email": "[email protected]"
},
"success_url": "https://yoursite.com/payment/success",
"fail_url": "https://yoursite.com/payment/fail"
}
)
data = response.json()
session_id = data["session_id"]
checkout_url = data["checkout_url"]
Node.js
const response = await fetch("https://api.jetcheckout.com/api/v1/embedded/session", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
merchant_api_key: process.env.PAYLOX_API_KEY,
amount: 15000,
currency: "TRY",
customer: {
name: "Ahmet",
surname: "Yılmaz",
email: "[email protected]"
},
success_url: "https://yoursite.com/payment/success",
fail_url: "https://yoursite.com/payment/fail"
})
});
const { session_id, checkout_url } = await response.json();
PHP
<?php
$ch = curl_init("https://api.jetcheckout.com/api/v1/embedded/session");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'merchant_api_key' => getenv('PAYLOX_API_KEY'),
'amount' => 15000,
'currency' => 'TRY',
'customer' => [
'name' => 'Ahmet',
'surname' => 'Yılmaz',
'email' => '[email protected]'
],
'success_url' => 'https://yoursite.com/payment/success',
'fail_url' => 'https://yoursite.com/payment/fail'
]),
]);
$response = json_decode(curl_exec($ch), true);
$sessionId = $response['session_id'];
$checkoutUrl = $response['checkout_url'];
Hata Yanıtları
| HTTP Kodu | Açıklama |
|---|---|
400 | Eksik veya geçersiz parametre |
401 | Geçersiz API Key |
429 | Rate limit aşıldı |
500 | Sunucu hatası |
{
"detail": "merchant_api_key is required"
}