API referansı
Ödeme oturumları
post
/checkout/sessionsÖdeme oturumu oluştur
Sipariş `PENDING` olarak açılır ve alıcıyı yönlendireceğin `paymentUrl` döner. Ödeme tamamlanınca `order.paid` webhook'u gelir ve alıcı `successUrl`'ye döner. `write` yetkisi gerekir.
Gövde (JSON)
| Alan | Tür | Açıklama |
|---|---|---|
| productzorunlu | string | Ürün kimliği veya slug |
| quantity | integer | |
| variantId | string | |
| couponCode | string | |
| successUrl | string (uri) | Ödeme sonrası dönülecek https adresi |
| buyerzorunlu | object | |
| buyer.namezorunlu | string | |
| buyer.emailzorunlu | string (email) | |
| buyer.phone | string | |
| buyer.address | string | Fiziksel ürünlerde zorunlu değil ama önerilir |
| buyer.ip | string | Alıcının IP'si; verilmezse isteği yapan sunucununki kullanılır |
İstek
curl -X POST https://odecik.com/api/v1/checkout/sessions \
-H "Authorization: Bearer $ODECIK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product": "premium-sablon-paketi",
"quantity": 1,
"successUrl": "https://siteadresin.com/tesekkurler",
"buyer": {
"name": "Ayşe Yılmaz",
"email": "ayse@example.com"
}
}'Yanıt
Başarılı: 201400 Geçersiz istek401 Geçersiz veya iptal edilmiş API anahtarı403 Anahtarda gerekli yetki (scope) yok404 Kaynak bulunamadı429 Hız sınırı aşıldı
| Alan | Tür | Açıklama |
|---|---|---|
| orderNo | string | |
| status | PENDING | PAID | |
| totalKurus | integer | |
| currency | string | |
| paymentUrl | string? | Alıcıyı buraya yönlendir |
| testMode | boolean | |
| licenseKeys | string[] |
201 — örnek yanıt
{
"orderNo": "string",
"status": "PENDING",
"totalKurus": 0,
"currency": "string",
"paymentUrl": "string",
"testMode": false,
"licenseKeys": [
"string"
]
}