unknown, ödeme başarısız demek değildir. Tahsil veya sağlayıcı, bankanın
işlemi kabul edip etmediğini kesin olarak doğrulayamamıştır. Bu durum ödeme
sistemlerindeki en kritik operasyonel ayrımdır.
Belirsizlik nasıl oluşur?
- Banka isteği aldıktan sonra bağlantı kesilir.
- Sağlayıcı timeout döndürür fakat bankadaki işlem sürer.
- 3DS callback’i ulaşmaz veya yarıda kesilir.
- Sağlayıcı durum sorgusu geçici olarak cevap vermez.
- Kullanıcı browser’ı kapatır ve merchant return URL’sine dönmez.
Güvenli davranış
- Intent’i
unknowndurumda tutun. - Aynı sipariş için otomatik olarak başka POS’ta ödeme başlatmayın.
- Canonical intent durumunu periyodik ve sınırlı biçimde sorgulayın.
- Sağlayıcı referansı oluştuysa status sorgusuyla sonucu çözün.
- Sonuç kesinleşmeden siparişi başarısız veya başarılı finansal kayda çevirmeyin.
- Operasyon süresi aşılırsa manuel inceleme kuyruğuna alın.
Merchant durum modeli
Merchant sipariş modelinde yalnızpaid/unpaid ikilisi kullanmayın. En azından
şu ayrımı koruyun:
- Ödeme bekleniyor
- Ödeme işleniyor
- Ödeme doğrulanıyor
- Ödeme başarılı
- Ödeme başarısız
- İptal/iade edildi