Payments
Ödeme işlemlerini gerçekleştirmek, sorgulamak ve yönetmek için kullanılan endpoint'ler.
Ödeme Yap
POST /api/v1/payment/pay
Kredi Kartı Ödemesi
{
"session_id": "ses_xxx",
"payment_type": "creditcard",
"card_holder_name": "AHMET YILMAZ",
"card_number": "5388880000000055",
"expire_month": "12",
"expire_year": "2030",
"cvc": "000",
"is_3d": true,
"installment_count": "1",
"save_card": false
}
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
session_id | string | Evet | Checkout session ID |
payment_type | string | Evet | Ödeme yöntemi (creditcard, bank_transfer, wallet, shopping_credit) |
card_holder_name | string | Evet* | Kart üzerindeki isim |
card_number | string | Evet* | Kart numarası |
expire_month | string | Evet* | Son kullanma ayı (2 hane) |
expire_year | string | Evet* | Son kullanma yılı (4 hane) |
cvc | string | Evet* | CVC/CVV kodu |
is_3d | boolean | Hayır | 3D Secure kullanılsın mı (önerilir: true) |
installment_count | string | Hayır | Taksit sayısı ("1" = tek çekim) |
save_card | boolean | Hayır | Kartı tokenize et |
card_token | string | Hayır | Saklanan kart token'ı (kart bilgileri yerine) |
*Kart alanları card_token gönderilmediğinde zorunludur.
Başarılı Yanıt
{
"status": 0,
"message": "Odeme basarili",
"order_id": "ORD-xxx",
"amount": 15000,
"card_token": "tok_a1b2c3d4e5f6",
"card_last_four": "0055"
}
3D Secure Yönlendirme Yanıtı
{
"status": 1,
"message": "3D Secure dogrulama gerekli",
"redirect_url": "https://bankasi.com/3ds/verify?token=xxx",
"html_content": "<form>...</form>"
}
redirect_url veya html_content dönerse, müşteriyi 3D Secure doğrulama sayfasına yönlendirin.
Ödeme Durumu Sorgula
GET /api/v1/payment/status/{order_id}?session_id=ses_xxx
Yanıt
{
"success": true,
"order_id": "ORD-xxx",
"status": "completed",
"amount": 15000,
"currency": "TRY",
"payment_type": "creditcard",
"message": "Odeme basarili"
}
| Alan | Açıklama |
|---|---|
status | completed, failed, authorized, refunded, pending |
Taksit Sorgula
POST /api/v1/payment/installment
{
"session_id": "ses_xxx",
"bin_number": "538888",
"amount": 15000
}
Yanıt
{
"success": true,
"bank_name": "Garanti BBVA",
"card_brand": "mastercard",
"card_type": "credit",
"installments": [
{ "count": 1, "total_amount": 15000, "installment_amount": 15000, "commission_rate": 0 },
{ "count": 3, "total_amount": 15450, "installment_amount": 5150, "commission_rate": 3.0 },
{ "count": 6, "total_amount": 15900, "installment_amount": 2650, "commission_rate": 6.0 }
]
}
BIN Sorgula
POST /api/v1/payment/bin
{
"session_id": "ses_xxx",
"bin_number": "538888"
}
{
"success": true,
"bank_name": "Garanti BBVA",
"card_brand": "mastercard",
"card_type": "credit",
"card_category": "individual"
}
Havale / EFT
POST /api/v1/payment/pay
{
"session_id": "ses_xxx",
"payment_type": "bank_transfer"
}
Yanıtta banka hesap bilgileri döner. Müşteri havale yaptıktan sonra ödeme otomatik olarak doğrulanır.
Hata Kodları
| Kod | Açıklama |
|---|---|
0 | Başarılı |
1 | 3D Secure yönlendirmesi gerekli |
-1 | Genel hata |
-2 | Yetersiz bakiye |
-3 | Kart engelli |
-4 | Session süresi dolmuş |
-5 | Geçersiz kart numarası |