Endpoint
Akış
İstek
İstek alanları
| Alan | Tip | Zorunluluk | Açıklama |
|---|---|---|---|
external_id | string | Önerilir | Sizin sisteminizdeki sipariş kimliği. İdeal olarak Idempotency-Key ile aynı seed’den üretin. |
basket_id | string | Opsiyonel | Sepet kimliği (raporlama için) |
amount.amount | int (kuruş) | Zorunlu | Tutar — kuruş cinsinden tam sayı |
amount.currency | enum | Zorunlu | Şu an yalnız "TRY" kabul edilir. Yabancı kart için DCC akışında çevrim yanıtta döner — bkz. Tutarlar |
installment | int | Zorunlu | Taksit sayısı (1 = peşin). Banka & BIN desteği gerekir. |
operation_type | enum | Opsiyonel | sale (varsayılan, anında çekim) veya pre_auth (ön provizyon — sonradan /capture gerekir) |
card.holder_name | string | Zorunlu | Kart üzerindeki isim |
card.number | string | Zorunlu | 13-19 haneli kart numarası (boşluksuz, Luhn checksum geçerli) |
card.expire_month | string | Zorunlu | İki hane (01–12) |
card.expire_year | string | Zorunlu | Dört hane (2030) |
card.cvv | string | Zorunlu | 3 hane (Amex için 4) |
buyer.id | string | Önerilir | Müşteri kimliğiniz (fraud sinyalleri için) |
buyer.name, surname, email, phone | string | Önerilir | Müşteri bilgileri (banka risk skoru için) |
buyer.ip_address | string | Önerilir | Müşterinin IP adresi (fraud için kritik) |
buyer.identity_number | string | Opsiyonel | TC kimlik no (yüksek tutarlı işlemlerde bazı bankalar zorunlu kılar) |
billing_address, shipping_address | object | Opsiyonel | Adres alanları — bazı bankalar/3DS senaryoları için risk skoruna girer |
basket_items[] | array | Opsiyonel | Sepet kalemleri (name, price, quantity) |
description | string | Opsiyonel | İşlem açıklaması (banka ekstresi açıklamasına yansıyabilir) |
extra_properties | object | Opsiyonel | Konnektör-spesifik özel alanlar (advanced) |
İlgili headers — bu istek için zorunlu olanlar:
Authorization: Bearer <token>(Identity’den alınan access token)Idempotency-Key(önerilir — yeniden gönderim koruması için bkz. Idempotency)Content-Type: application/json
Başarılı response
HTTP 200 + status: "completed" → ödeme başarıyla tamamlandı. Detaylı alan referansı: Payment Objesi.
Banka tarafından red
Banka reddinde response422 Unprocessable Entity + application/problem+json döner; code: "bank_declined" ile birlikte bankanın orijinal kodu provider_error_code alanında taşınır. Tam payload yapısı: Hata Yönetimi. Banka kodları: Banka Yanıt Kodları.
Sonradan GET /api/v1/payments/{id} ile sorgulandığında failed ödeme 200 OK döner; error_code ve provider_error_code response body’sinde yer alır.
Validasyon hatası
Eksik veya geçersiz alanlar422 Unprocessable Entity ile RFC 9457 problem+json döner:
Sonraki adımlar
3D Secure'a geçin
Tüketici işlemlerinde chargeback riskini azaltın.
İade işlemi
Tam veya kısmi iade nasıl yapılır?
Webhook entegre edin
Asenkron sonuçları gerçek zamanlı alın.
Akıllı yönlendirme
Birden fazla bankaya nasıl yönlendirilir?