approved durumdaki transferler bankaya gönderilir, işlem başlatılır. Bu adımdan sonra para hesaplarınızdan çekilir.
Endpoint
transfer-admin rolü gerektirir.
İstek
| Alan | Tip | Zorunluluk | Açıklama |
|---|---|---|---|
transfer_ids[] | UUID array | Zorunlu | Gönderilecek transfer kimlikleri (max 1000 / istek) |
Yanıt
202 Accepted — istek alındı, banka çağrıları yapıldı. Yanıttaki status’lar:
| Status | Anlam | Sonraki adım |
|---|---|---|
processing | Bankaya gönderildi, yanıt bekleniyor | Webhook bekleyin veya GET /transfers/{id} ile sorgulayın |
completed | Banka senkron onayladı (genellikle remittance, küçük tutarlar) | İşlem tamam |
delivered | Banka FAST kanalında kabul etti, hesap geçişi asenkron | Sonradan completed olur, webhook gelir |
failed | Banka reddi (yetersiz bakiye, blok vb.) | error_code inceleyin |
Asenkron sonuç
FAST ve EFT işlemleri çoğu zaman asenkron tamamlanır.processing veya delivered döndüğünde nihai sonucu webhook ile yakalayın:
| Webhook olayı | Tetikleyici |
|---|---|
transfer.succeeded | Transfer başarıyla tamamlandı (completed) |
transfer.failed | Banka reddi veya teknik hata |
GET /api/v1/transfers/{id} ile son durumu sorgulayabilirsiniz — bkz. Transfer Detayı.
Banka tarafından red
Banka tarafı red veya bakiye yetersizliği gibi durumlarda response422 Unprocessable Entity + application/problem+json döner; code programatik karar için, provider_error_code bankanın orijinal kodunu taşır. Tam payload yapısı: Hata Yönetimi.
Sonradan GET /api/v1/transfers/{id} ile sorgulandığında failed transfer için error_code ve provider_error_code response body’sinde yer alır.
Akıllı yönlendirme ve fallback
Sender hesabınız birden fazla banka konnektörüne bağlıysa, Payven uygun olanı seçer. Birinci konnektör hata verirse otomatik fallback’e düşer (success_sender_account_id yanıtta gerçek kullanılan hesabı taşır). Bu sırada retry_count artar.
Hata response’ları
| HTTP | code | Anlam |
|---|---|---|
403 | forbidden | transfer-admin rolü yok |
404 | transfer_not_found | Tüm verilen ID’ler bulunamadı |
422 | invalid_state_transition | Transfer approved durumunda değil |
422 | insufficient_balance | Kaynak hesapta yeterli bakiye yok |
422 | bank_declined | Banka reddetti — provider_error_code daha spesifik bilgi taşır |
422 | recipient_blocked | Alıcı blacklist’te |
422 | iban_not_eligible | IBAN seçilen transfer tipinde işlenemez (örn. yurtdışı IBAN’a FAST) |
503 | connector_unavailable | Banka konnektörü geçici olarak devre dışı |
409 | idempotency_key_in_use | Aynı Idempotency-Key farklı body için kullanılmış |
Sonraki adımlar
Webhook entegrasyonu
Asenkron sonuçları gerçek zamanlı yakalayın.
Transfer detayı
Tek bir transferin son durumunu sorgulayın.
Dekont indirme
Tamamlanmış transferin makbuz PDF’i.
Tekrarlayan transfer
Periyodik (maaş, kira, abonelik) transferler.