Ana içeriğe geç

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

AlanTipZorunluAçıklama
merchant_api_keystringMerchant API anahtarı
amountintegerTutar (kuruş cinsinden). 10.00 TL = 1000
currencystringPara birimi. Varsayılan: TRY. Seçenekler: TRY, USD, EUR, GBP
languagestringDil. Varsayılan: tr. Seçenekler: tr, en
customerobjectMüşteri bilgileri
basket_itemsarraySepet kalemleri
success_urlstringBaşarılı ödeme sonrası yönlendirme URL'i
fail_urlstringBaşarısız ödeme sonrası yönlendirme URL'i
metadataobjectEkstra 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"
}
AlanAçıklama
session_idBenzersiz session kimliği
checkout_urlHosted checkout sayfası URL'i
expires_atSession'ı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"];
ipucu

Session 1 saat geçerlidir. Süresi dolan session ile ödeme yapılamaz.