Ağ hatası aldığınızda isteğin işlenip işlenmediğini bilemezsiniz. Yeniden göndermek çift tahsilat riskidir; göndermemek kayıp satış. Idempotency-Key başlığı bu ikilemi çözer:
Koruma /v1/payments, /v1/refunds ve /v1/subscriptions altındaki POST isteklerini kapsar. Başlık zorunlu değildir; göndermezseniz koruma da yoktur — para hareketi başlatan her istekte göndermenizi öneririz.

Davranış tablosu

Anahtar; metod, yol ve ham istek gövdesiyle birlikte değerlendirilir:

Bilinmesi gereken incelikler

  • Doğrulama ve iş kuralı redleri anahtarı yakmaz. 400 validation_failed ya da 409 installments.not_offered gibi belirlenimci bir redden sonra aynı anahtarla düzeltilmiş isteği gönderebilirsiniz.
  • Beklenmeyen hata (5xx) anahtarı serbest bırakmaz. Sonuç bilinmediği için kayıt “işleniyor”da kalır ve 2 dakika sonra stale’e düşer — bu noktada doğru hareket ödemenin durumunu sorgulamaktır, körlemesine yeniden göndermek değil.
  • Anahtar kiracıya bağlıdır: kimliği çözülemeyen istek koruma katmanına hiç girmez, dolayısıyla yetkisiz biri sizin adınıza anahtar yakamaz.
  • Anahtarı kendi iş kaydınızdan türetin (siparis-8842 gibi) — yeniden deneme mantığınız hangi anahtarı kullanacağını hatırlamak zorunda kalmaz.
Kartın reddedilmesi (status: failed, HTTP 200) isteğin tamamlanmış bir sonucudur ve aynen tekrar oynatılır. Müşteri yeni bir deneme yapacaksa yeni bir ödeme ve yeni bir anahtar kullanın.