API genelinde hata gövdesi tek biçimdir:
Doğrulama hatasında errors alan bazında dolar:
code makine içindir ve sözleşmedir; message insan içindir ve değişebilir. Koşullarınızı her zaman code üzerine yazın.

Kart reddi HTTP hatası değildir

En sık karışan nokta: bankanın kartı reddetmesi HTTP 200 döner. İstek başarıyla işlenmiş, ödeme failed durumuna geçmiştir; sonuç lastError alanındadır:
HTTP 4xx/409, isteğin kendisinin sorunlu olduğu durumlardır: geçersiz alan, geçersiz durum geçişi, bulunamayan kayıt.

Birleşik kart hata sözlüğü

Her bankanın kendi kod alfabesi vardır; Poyra hepsini 16 koda indirger ve bankanın ham kodunu rawCode olarak yanında taşır: Yalnız üçü yeniden denenebilir sayılır ve yük devretmeyi tetikler: connector_unavailable, issuer_unavailable, processing_error. Kart reddi devretmez — kartın kararıdır.
Sözlüğün doğruluğu paradır: eşlenmeyen her kod terminal red (poyra.card_declined) sayılır. Bu bilinçli bir tercihtir — bilinmeyen bir hatayı yeniden denemek, müşterinin kartını gereksiz yere zorlamak olurdu. Ama yanlış tarafa düşen kod gerçek kayıptır: yeniden denenebilir bir hata terminal sayılırsa o tahsilat hiç kurtarılamaz. Abonelikte etkisi daha da büyüktür — dunning politikası yeniden deneme takvimini bu kodlara bakarak kurar. Sertifikasyon sırasında her sağlayıcıdan tam hata kodu listesi istenmesinin nedeni budur.

Sık karşılaşılan API hata kodları

Hata kodlarının modül bazında tam listesi çalışan API’nizin referans belgesinde görünür.