Yanıt örneği
Alan referansı
Kimlik alanları
| Alan | Tip | Açıklama |
|---|---|---|
id | UUID | Payven tarafından atanan benzersiz transfer kimliği. Sorgulama / aksiyon endpoint’lerinde URL parametresi olarak kullanılır. |
merchant_id | UUID | Transferin merchant kimliği |
external_id | string | Sizin sisteminizdeki transfer kimliği (istek body’sinden gelir, echo edilir) |
request_id | UUID | İstek korelasyon kimliği — destek talebinde paylaşın |
description | string | null | Transfer açıklaması (banka ekstresine yansıyabilir) |
receipt_no | string | null | Banka makbuz numarası (yalnız delivered/completed durumda dolar) |
Hesap alanları
| Alan | Tip | Açıklama |
|---|---|---|
receiver_account_id | UUID | Alıcı hesabın Payven kimliği |
request_sender_account_id | UUID | İstek anında talep edilen kaynak hesap |
success_sender_account_id | UUID | null | Banka tarafında işlem yapılan gerçek kaynak hesap (akıllı yönlendirme sonrası farklı olabilir) |
Tutar alanları
| Alan | Tip | Açıklama |
|---|---|---|
amount | long (kuruş) | Transfer tutarı — kuruş cinsinden 64-bit tam sayı (1.500.000 = 15.000,00 TL) |
currency | enum | Şu an yalnız "TRY" |
fee_amount | long (kuruş) | Banka komisyonu — delivered/completed durumda dolar |
Transfer tipi
| Alan | Tip | Açıklama |
|---|---|---|
request_transfer_type | enum | İstek anında belirlenen tip (eft, fast, remittance, credit_card) |
success_transfer_type | enum | null | Banka tarafında gerçekleşen tip — istekten farklı olabilir (örn. fast yerine eft kullanıldı) |
Zaman damgaları
| Alan | Tip | Açıklama |
|---|---|---|
scheduled_date | datetime | Transferin işleme alınması gereken zaman (zamanlanmış transfer için ileri tarih, anlık için oluşturulma anı) |
validate_date | datetime | null | Transferin onaylandığı zaman |
sent_date | datetime | null | Transferin bankaya gönderildiği zaman |
processed_date | datetime | null | Banka yanıtının alındığı zaman |
Durum alanları
| Alan | Tip | Açıklama |
|---|---|---|
status | enum | Transferin mevcut durumu — bkz. Status değerleri |
retry_count | int | Banka tarafında kaç kez yeniden denendiği |
Status değerleri
status | Anlam | Sonraki adım |
|---|---|---|
pending | Transfer oluşturuldu, onay bekliyor (4-eyes principle) | POST /transfers/bulk/approve veya /reject |
approved | Onaylandı, banka gönderimine hazır | POST /transfers/bulk/send |
rejected | İç onayda reddedildi | — (yeni transfer oluşturmak gerekir) |
processing | Bankaya gönderildi, yanıt bekleniyor | Asenkron — webhook veya GET ile takip |
delivered | Banka kabul etti, hesap geçişi asenkron (FAST modeli) | Banka kesinleştirince completed |
completed | Banka senkron onayladı veya delivered’dan ilerledi | İade/geri dönüş yapılabilir |
failed | Banka reddetti veya teknik hata | — |
refunded | Transfer iade edildi (alıcı tarafından geri çekildi) | — |
Yaşam döngüsü diyagramı
Transfer tipleri
| Tip | Açıklama |
|---|---|
fast | FAST sistemi — anlık havale (7×24, ≤ 200.000 TL). Banka kabul ederse delivered, sonra completed. |
eft | EFT — günlük/iş saati zamanlamalı, geleneksel havale. Yüksek tutarlar için. |
remittance | Banka içi havale (sender ve receiver aynı bankada) — anlık. |
credit_card | Karta para gönderme (P2C) — kart numarasıyla transfer. |
transfer_type belirtirsiniz; banka müsaitse o tip kullanılır, değilse Payven uygun alternatife düşürür ve success_transfer_type farklı dönebilir.
Hata response’ları
İstek reddi veya iş kuralı ihlali durumunda Payven RFC 9457 problem+json yanıtı döner. Tipik hatalar:failed durumda olan bir transferin sebebi sonradan GET /api/v1/transfers/{id} ile sorgulanabilir; banka detayları response body’sindeki error_code ve provider_error_code alanlarında taşınır.
Tam hata kodu listesi: Hata Kodları.