İdempotentlik (Ödeme Entegrasyonu) Nedir?

İngilizce: Idempotency

İdempotentlik, aynı ödeme veya API isteği tekrar gelse bile sistemin işlemi yalnızca bir kez sonuçlandırmasını sağlar.

İdempotentlik (Ödeme Entegrasyonu) Nedir?

İdempotentlik, aynı isteğin ağ hatası, kullanıcı tekrar tıklaması veya sağlayıcı retry mekanizması nedeniyle birden fazla kez gelmesi durumunda işlemin tek sonuç üretmesini sağlar. Ödeme, sipariş oluşturma, fatura kesme ve abonelik yenileme gibi geri dönüşü zor aksiyonlarda kritik bir güvenilirlik kuralıdır.

Nasıl Çalışır?

İstemci her kritik isteğe benzersiz bir Idempotency-Key ekler. Sunucu bu anahtarı, istek gövdesinin özetiyle ve üretilen sonuçla birlikte saklar. Aynı anahtar tekrar gelirse işlem yeniden çalıştırılmaz; daha önce üretilen yanıt döndürülür veya uyumsuz payload varsa hata verilir.

Örneğin ödeme ekranında kullanıcı “Öde” butonuna bastıktan sonra bağlantı koparsa uygulama isteği tekrar gönderebilir. İdempotentlik yoksa kart iki kez çekilebilir. Doğru tasarımda ikinci istek mevcut ödeme sonucunu okur.

Dikkat Edilecekler

Anahtarların yaşam süresi, aynı anahtarla farklı payload gönderilmesi, eşzamanlı istek yarışları ve veritabanı kilitleme davranışı baştan belirlenmelidir. Idempotency Key tekniği bu tasarımın pratik aracıdır; idempotent operasyonlar ise aynı tekrarın sonucu değiştirmediği işlemlerdir.

Tekrarlayan ödeme, kargo etiketi oluşturma ve pazaryeri sipariş aktarımı gibi entegrasyonlarda tekrarlayan ödeme akışlarıyla birlikte düşünülür.