Ödeme entegrasyonu, bir e-ticaret projesinin en az hataya tahammülü olan parçası. Dokümantasyonu okuyup 'çalışıyor' demek kolay; asıl sınav, taksit seçenekleri, 3D Secure yönlendirmeleri ve başarısız işlemlerin düzgün şekilde geri bildirilmesiyle başlıyor.
IsPool projesinde ilk versiyonda ödeme durumu kontrolünü tamamen callback URL'sine bırakmıştık. Kullanıcı ödeme sayfasını kapatıp tarayıcıyı kapattığında sipariş durumu 'beklemede' takılı kalıyordu. Çözüm, callback'e ek olarak periyodik bir durum sorgulama job'ı eklemek ve sipariş durumunu yalnızca tek bir kaynaktan (ödeme sağlayıcısının kendisinden) doğrulamak oldu.
Taksit seçenekleri görünüşte basit bir UI detayı ama banka bazlı komisyon farklarını doğru yansıtmazsanız müşteri güvenini hızlıca kaybedersiniz. BalkoLüx'te taksit tablosunu sepet toplamına göre dinamik hesaplayan, banka kart BIN numarasına göre güncel komisyon oranlarını çeken bir katman ekledik.
Hata mesajlarının kullanıcı diline çevrilmesi de hafife alınan bir konu. iyzico'nun döndürdüğü teknik hata kodlarını doğrudan kullanıcıya göstermek yerine, en sık karşılaşılan 10-15 hata kodu için anlaşılır, aksiyon önerir mesajlar yazdık ('Kartınızın limiti yetersiz olabilir, başka bir kartla deneyin' gibi).
Sonuç olarak ödeme entegrasyonunda asıl iş, API'yi bağlamak değil; başarısızlık senaryolarını düşünmek.
{ }
