Idempotency Key, ödeme veya kritik işlem API'lerinde, aynı isteğin yanlışlıkla iki kez gönderilmesinin sistem üzerinde tek bir etki yaratmasını sağlayan benzersiz anahtardır.
Neden Gerekli?
Network kesintisi, timeout veya retry mekanizmaları aynı ödeme isteğinin sunucuya birden fazla kez ulaşmasına neden olabilir. Idempotency key olmadan müşteri iki kez tahsil edilir.
Tipik Uygulama
- İşyeri her ödeme isteğine UUID üretir:
idempotency-key: 8a4f9c1e-... - Sağlayıcı bu anahtarı 24 saat saklar
- Aynı anahtarla gelen ikinci istek → ilk yanıtın aynısı döner, yeni işlem oluşmaz
Webhook'ta da Önemli
Sağlayıcılar webhook'u birden fazla kez gönderebilir; alıcı taraf event ID ile idempotent işlemeli.
Örnek Kullanım
- Her ödeme isteğine idempotency key gönderiyoruz — çift çekim imkansız.
- Webhook'larda event ID ile idempotent işlemiyoruz.