Konuyu Açan
#1
Bir müşterinin bankasından doğrulama mesajı aldığını söyleyip siparişinin “ödenmedi” görünmesi, özellikle ilk Sanal POS entegrasyonlarında kafa karıştırabiliyor. Bu durumda yalnızca ödeme ekranındaki dönüş adresine bakmak yerine akışı birkaç parçaya ayırmak işe yarıyor:
Canlıya geçmeden önce başarılı, reddedilmiş ve kullanıcı tarafından yarıda bırakılmış akışları ayrı ayrı deneyin; test ortamının her banka davranışını birebir yansıtmayabileceğini de hesaba katın. Sizde en çok sorun hangi aşamada çıkıyor: 3DS dönüşünde mi, webhook bildiriminde mi, yoksa sipariş durumunu eşleştirirken mi?
- Doğrulama ile tahsilatı ayrı değerlendirin. 3D Secure adımının tamamlanması, işlemin mutlaka onaylandığı anlamına gelmez. Bankanın doğrulama sonucu ile POS’un provizyon/işlem sonucunu ve varsa hata kodunu ayrı ayrı kontrol edin.
- Dönüş sayfasını tek doğruluk kaynağı yapmayın. Kullanıcı sekmeyi kapatabilir veya yönlendirme sırasında bağlantı kopabilir. Sağlayıcının sunucudan sunucuya bildirimini (webhook/callback) doğrulayın; sipariş durumunu da sağlayıcıdan gelen güvenilir sonuçla güncelleyin.
- Tekrar denemelerde çift sipariş riskini azaltın. Aynı sipariş için yinelenen istekleri engelleyin ve durum geçişlerini kontrollü yönetin. Loglarda sipariş numarası, işlem referansı ve zaman bilgisini saklamak, başarısız görünen ödemenin gerçekten reddedilip reddedilmediğini anlamayı kolaylaştırır.
Canlıya geçmeden önce başarılı, reddedilmiş ve kullanıcı tarafından yarıda bırakılmış akışları ayrı ayrı deneyin; test ortamının her banka davranışını birebir yansıtmayabileceğini de hesaba katın. Sizde en çok sorun hangi aşamada çıkıyor: 3DS dönüşünde mi, webhook bildiriminde mi, yoksa sipariş durumunu eşleştirirken mi?