Checkout Session Oluşturma
Ödeme almak için ilk adım bir checkout session oluşturmaktır.
Endpoint
POST /api/v1/checkout/session
İstek Gövdesi (Request Body)
{
"merchant_api_key": "fbd654ad-6448-4cbc-9780-5cdd3eadb677",
"amount": 1000,
"currency": "TRY",
"language": "tr",
"customer": {
"name": "Ahmet",
"surname": "Yılmaz",
"email": "ahmet@example.com",
"phone": "+905551234567",
"address": "Atatürk Cad. No:1",
"city": "İstanbul",
"country": "Türkiye",
"postal_code": "34000",
"identity_number": "12345678901",
"ip_address": "1.2.3.4",
"customer_id": "USR-123"
},
"basket_items": [
{
"id": "ITEM-001",
"name": "Ürün Adı",
"brand_name": "Marka",
"qty": 1,
"unit_price": 1000,
"category": 1
}
],
"success_url": "https://yoursite.com/payment/success",
"fail_url": "https://yoursite.com/payment/fail",
"metadata": {
"order_ref": "SIP-2025-001"
}
}
Alanlar
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
merchant_api_key | string | ✅ | Merchant API anahtarı |
amount | integer | ✅ | Tutar (kuruş cinsinden). 10.00 TL = 1000 |
currency | string | ❌ | Para birimi. Varsayılan: TRY. Seçenekler: TRY, USD, EUR, GBP |
language | string | ❌ | Dil. Varsayılan: tr. Seçenekler: tr, en |
customer | object | ❌ | Müşteri bilgileri |
basket_items | array | ❌ | Sepet kalemleri |
success_url | string | ✅ | Başarılı ödeme sonrası yönlendirme URL'i |
fail_url | string | ✅ | Başarısız ödeme sonrası yönlendirme URL'i |
metadata | object | ❌ | Ekstra veri (callback'te geri döner) |
Başarılı Yanıt
{
"session_id": "ses_a1b2c3d4e5f6g7h8i9j0k1l2",
"checkout_url": "https://checkout.paylox.io?session=ses_a1b2c3d4e5f6g7h8i9j0k1l2",
"expires_at": "2025-01-15T14:30:00+00:00"
}
| Alan | Açıklama |
|---|---|
session_id | Benzersiz session kimliği |
checkout_url | Hosted checkout sayfası URL'i |
expires_at | Session'ın sona erme zamanı (1 saat) |
Kod Örnekleri
Python
import requests
response = requests.post(
"https://api.paylox.io/api/v1/checkout/session",
json={
"merchant_api_key": "YOUR_API_KEY",
"amount": 1000,
"currency": "TRY",
"customer": {
"name": "Ahmet",
"surname": "Yılmaz",
"email": "ahmet@example.com"
},
"success_url": "https://yoursite.com/success",
"fail_url": "https://yoursite.com/fail"
}
)
data = response.json()
print(f"Checkout URL: {data['checkout_url']}")
JavaScript (Node.js)
const response = await fetch("https://api.paylox.io/api/v1/checkout/session", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
merchant_api_key: "YOUR_API_KEY",
amount: 1000,
currency: "TRY",
customer: {
name: "Ahmet",
surname: "Yılmaz",
email: "ahmet@example.com"
},
success_url: "https://yoursite.com/success",
fail_url: "https://yoursite.com/fail"
})
});
const data = await response.json();
console.log("Checkout URL:", data.checkout_url);
PHP
$ch = curl_init("https://api.paylox.io/api/v1/checkout/session");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"merchant_api_key" => "YOUR_API_KEY",
"amount" => 1000,
"currency" => "TRY",
"customer" => [
"name" => "Ahmet",
"surname" => "Yılmaz",
"email" => "ahmet@example.com"
],
"success_url" => "https://yoursite.com/success",
"fail_url" => "https://yoursite.com/fail"
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);
echo "Checkout URL: " . $data["checkout_url"];
tip
Session 1 saat geçerlidir. Süresi dolan session ile ödeme yapılamaz.