İçeriğe atla

Ödeme Hataları, İptal ve İade Süreçleri Nasıl Yönetilir?

Ders 4 / 10 · 30 dakika okuma · İleri

Başarısız ve belirsiz ödeme sonuçlarını sınıflandırmayı; iptal, tam/kısmi iade, mükerrer ödeme ve işlem uyuşmazlıklarını sipariş ve finans kayıtlarıyla tutarlı biçimde yönetmeyi öğrenin.

Bu Derste Öğrenecekleriniz

  • Ödeme hatalarını finansal ret, doğrulama, teknik hata ve belirsiz sonuç olarak sınıflandırmak
  • Retry kararını hata türüne göre vermek
  • İptal ile iade arasındaki operasyonel farkı açıklamak
  • Tam ve kısmi iadelerde iade edilebilir bakiye kontrolü kurmak
  • Birden fazla iade işlemini orijinal tahsilatla ilişkilendirmek
  • Mükerrer ödeme ve çift tahsilat vakalarını yönetmek
  • İade durumu ile sipariş/ürün iade durumunu birbirinden ayırmak
  • Hata ve iade KPI'larını kök neden iyileştirmesine bağlamak

Ödeme operasyonunun kalitesi yalnız başarılı işlemlerde değil, sorun çıktığında belli olur. Müşteri ödeme yapamadığında, işlem sonucu bilinmediğinde veya tahsil edilen tutarın geri gönderilmesi gerektiğinde sistemin ne yapacağı önceden tanımlanmış olmalıdır.

1. Ödeme hatalarını tek bir 'başarısız' durumuna sıkıştırmayın

Hata sınıfıÖrnekTipik yaklaşım
Finansal/kart reddiİşlem banka tarafından onaylanmadıAlternatif kart/yöntem veya kullanıcı aksiyonu
Doğrulama hatası3D Secure tamamlanamadıDoğrulamayı yeniden başlatma
Teknik hataGateway/servis erişim sorunuKontrollü retry veya alternatif kanal
Belirsiz sonuçİstek gitti, cevap alınamadıİşlemi sorgula; yeni tahsilatı beklet
İş kuralı hatasıTutar/para birimi/sipariş uyuşmazlığıİşlemi durdur ve incele

Bu ayrım müşteri deneyimini, retry davranışını ve hata analitiğini doğrudan etkiler. Kesin banka reddini sistem arızası gibi otomatik tekrar etmek veya timeout'u kesin ret saymak farklı riskler doğurur.

2. Hata kodlarını normalize edin

Birden fazla banka veya ödeme sağlayıcısı kullanıldığında aynı temel problem farklı kodlarla dönebilir. İşletme sağlayıcı kodunu saklarken kendi ortak hata sınıflarını da oluşturabilir.

İç hata sınıfıSağlayıcı koduMüşteri aksiyonuRetry uygunluğu
DECLINEDSağlayıcıya özgüBaşka kart/yöntemGenellikle kullanıcı aksiyonu gerekir
AUTH_FAILEDSağlayıcıya özgüDoğrulamayı yeniden deneKoşula bağlı
TEMPORARY_ERRORSağlayıcıya özgüKısa süre sonra tekrarKontrollü
UNKNOWN_RESULTTimeout/networkBekle/sonucu doğrulaSorgulamadan yeni ödeme yok
INVALID_REQUESTValidationİşletme hatasıDüzeltmeden retry yok

3. Retry politikasını güvenli sınırlarla kurun

Geçici teknik hatada kontrollü retry yararlı olabilir; ancak sonsuz tekrar, müşteriye art arda doğrulama ekranı göstermek veya kesin reddedilen işlemi aynı şekilde yeniden göndermek doğru değildir. Maksimum deneme, bekleme ve hangi hata sınıflarında retry yapılacağı belirlenmelidir.

Uyarı — Belirsiz sonucu yeniden tahsil etmeyin

İlk ödeme isteğinin sonucu bilinmiyorsa yeni ödeme başlatmadan önce sağlayıcı işlem ID'si veya merchant referansı üzerinden mevcut işlem sorgulanmalıdır. Aksi halde çift tahsilat oluşabilir.

4. İptal ve iadeyi işlem yaşam döngüsüne göre ayırın

Ödeme sistemlerinde 'iptal/void' ve 'iade/refund' kavramlarının teknik uygulanışı sağlayıcı ve işlem yaşam döngüsüne göre değişebilir. İşletme entegrasyonu, sağlayıcının hangi aşamada hangi operasyonu desteklediğini esas almalıdır.

Operasyonİşletme açısından amaçKontrol
İptal/voidUygun aşamadaki işlemi finansal tamamlanmadan geri almakİşlem durumu ve sağlayıcı desteği
Tam iadeTahsil edilen uygun tutarın tamamını geri göndermekKalan iade edilebilir bakiye
Kısmi iadeTahsilatın belirli kısmını geri göndermekToplam iadelerin orijinal tutarı aşmaması

Uyarı — Terminoloji sağlayıcıya göre değişebilir

İptal, void, refund, reversal gibi terimlerin teknik anlamı ve kullanılabileceği zaman aralığı ödeme sağlayıcısına göre farklılaşabilir. Entegrasyon sağlayıcının güncel dokümantasyonuna göre yapılmalıdır.

5. Her iadeyi orijinal tahsilata bağlayın

İade bağımsız bir para çıkışı olarak tutulmamalıdır. Hangi başarılı ödeme işlemine ait olduğu, iade tutarı, nedeni, zamanı, sağlayıcı iade ID'si ve sonucu saklanmalıdır.

AlanÖrnek
Original payment IDPAY-10425
Refund IDREF-00081
İade tutarı750 TL
NedenÜrün iadesi
DurumBekliyor/Başarılı/Başarısız
Sağlayıcı referansıProvider refund ID
İşlemi başlatanYetkili kullanıcı/sistem

6. İade edilebilir bakiyeyi hesaplayın

Bir ödeme birden fazla kısmi iadeye konu olabilir. Yeni iade oluşturulmadan önce başarılı orijinal tahsilattan daha önce başarıyla tamamlanan iadeler düşülerek kalan iade edilebilir tutar kontrol edilmelidir.

Örnek — Kısmi iade hesabı

2.000 TL'lik başarılı tahsilat için önce 600 TL, sonra 250 TL başarılı iade yapılmışsa kalan iade edilebilir tutar 1.150 TL'dir. Yeni 1.300 TL iade talebi kontrolsüz biçimde gönderilmemelidir.

7. İade talebi ile iade sonucunu ayırın

Kullanıcının 'iade et' butonuna basması paranın müşteriye başarıyla döndüğü anlamına gelmez. Sağlayıcı işlemi reddedebilir, işlem bekleyebilir veya teknik hata oluşabilir. Refund kaydı kendi durum yaşam döngüsüne sahip olmalıdır.

İade durumuAnlam
Createdİade talebi oluşturuldu
ProcessingSağlayıcı işlemi sürüyor
Succeededİade başarılı
Failedİade tamamlanamadı
UnknownSonuç doğrulanmalı

8. Sipariş/ürün iadesi ile ödeme iadesini senkronize edin

Müşterinin ürünü iade etmesi lojistik ve ticari bir süreçtir; paranın geri gönderilmesi finansal ödeme sürecidir. Ürün depoya dönmeden para iadesi yapılmayacaksa bu iş kuralı sistemde açık olmalıdır. Tersi durumda da müşteri iade onayı aldığı halde ödeme iadesinin başarısız kaldığı fark edilmelidir.

Örnek — İki farklı durum

Sipariş sisteminde ürün iadesi 'onaylandı' olabilir fakat ödeme sağlayıcısındaki refund işlemi 'failed' durumunda kalmış olabilir. Operasyon yalnız sipariş durumuna bakarsa müşteriye para geri dönmediği halde vaka kapanabilir.

9. Mükerrer ödemeyi otomatik tespit etmeye çalışın

Aynı sipariş için kısa sürede birden fazla başarılı tahsilat oluşması, müşteri retry'ı veya entegrasyon hatası kaynaklı olabilir. Aynı sipariş, benzer tutar, aynı müşteri ve yakın zaman aralığındaki başarılı işlemler risk sinyali olarak işaretlenebilir.

Uyarı — Otomatik iade kararı dikkat ister

İki başarılı ödeme her zaman hata değildir; iş modeline göre bir siparişte birden fazla meşru tahsilat bulunabilir. Sistem önce iş modelini ve ödeme planını dikkate almalıdır.

10. Yetkisiz veya hatalı iadeyi önleyin

İade para çıkışıdır. Yetki matrisi, maksimum iade tutarı, neden kodu, gerekiyorsa çift onay ve audit trail özellikle yüksek tutarlı iadelerde önemlidir. Kullanıcıların serbestçe herhangi bir ödeme ID'sine iade başlatabilmesi kontrol zafiyeti yaratır.

KontrolAmaç
Rol/yetkiKim iade başlatabilir?
Tutar limitiHangi tutara kadar tek yetki yeterli?
Neden koduİade neden yapılıyor?
Sipariş/ödeme bağıİade meşru işleme mi ait?
Kalan bakiyeAşırı iade engelleniyor mu?
Audit trailKim, ne zaman, ne yaptı?

11. Hata ve iade KPI'larını kök nedene bağlayın

Yüksek iade oranı yalnız ödeme ekibinin problemi olmayabilir; yanlış ürün açıklaması, stok, lojistik veya müşteri beklentisi kaynaklı olabilir. Benzer biçimde ödeme hata oranı sağlayıcı, banka, kart türü, cihaz veya entegrasyon sürümüne göre analiz edilmelidir.

KPIBoyutlarOlası aksiyon
Payment failure rateSağlayıcı, hata sınıfı, cihaz, zamanTeknik/UX/sağlayıcı analizi
Unknown result rateSağlayıcı, endpoint, sürümTimeout ve sorgu akışı iyileştirme
Refund rateÜrün, kategori, nedenÜrün/lojistik/kalite analizi
Refund failure rateSağlayıcı, hata koduOperasyon ve entegrasyon düzeltmesi
Duplicate payment vakasıSipariş, kanal, retryIdempotency ve retry iyileştirme

12. Gün sonu mutabakatı açık kalan vakaları yakalamalıdır

Sipariş sistemi 'başarısız' derken sağlayıcıda başarılı görünen ödeme, sistemde başarılı görünen ancak sağlayıcıda bulunamayan işlem veya başarılı görünen iadenin sağlayıcı tarafında başarısız kalması mutabakatla tespit edilmelidir.

  • Sipariş ödenmedi görünüyor ancak sağlayıcıda tahsilat var
  • Sipariş ödendi görünüyor ancak sağlayıcı işlemi yok/başarısız
  • Aynı siparişte beklenmeyen birden fazla başarılı tahsilat var
  • İade sistemde tamamlandı görünüyor ancak sağlayıcıda başarısız
  • Tutar veya para birimi uyuşmuyor
  • Sağlayıcı işlem kaydı sipariş/ödeme referansıyla eşleşmiyor

İlgili çözüm: Ödeme Entegrasyonları

Şimdi Uygulayın

Uygulama Görevi — Hata, İptal ve İade Karar Matrisi

En sık karşılaşabileceğiniz sekiz ödeme vakasını seçin: banka reddi, doğrulama hatası, timeout, callback gecikmesi, müşteri iptali, tam iade, kısmi iade ve mükerrer tahsilat. Her vaka için otomatik aksiyon, manuel inceleme gereksinimi, müşteri mesajı ve mutabakat kontrolünü tanımlayın.

VakaOtomatik aksiyonManuel kontrolMüşteri mesajıMutabakat
Banka reddi…………
Timeout…………
Tam iade…………
Kısmi iade…………
Mükerrer ödeme…………

İpucu — Kabul testi

Her başarısız veya iade edilen ödeme için ne olduğunu, hangi işlem kaydının etkilendiğini, müşteriye ne gösterildiğini, paranın gerçekten hareket edip etmediğini ve vakanın nasıl kapandığını tek zincir üzerinden açıklayabiliyorsanız ödeme istisna yönetiminiz izlenebilirdir.

Bu Derste Ne Öğrendik?

  • Ödeme operasyonunda başarısızlıkların tamamı aynı değildir.
  • Kesin ret, doğrulama sorunu, teknik hata ve sonucu belirsiz işlem farklı aksiyon gerektirir.
  • Başarılı tahsilat sonrasında iptal/iade süreçleri orijinal ödeme kaydıyla ilişkilendirilmeli; iade edilebilir bakiye aşılmamalı ve tam/kısmi iadeler ayrı izlenmelidir.
  • Sipariş iadesi ile paranın müşteriye geri gönderilmesi de ayrı fakat ilişkili süreçlerdir.

Öğrendiklerinizi Projenize Dönüştürün

Pazaryeri, online mağaza veya kurumsal dijital ticaret projeniz için KMK'nın deneyimli ekibiyle ihtiyaçlarınızı değerlendirin.