İçeriğe atlayın

API

Bu sayfada

Teslim ve yeniden deneme

Yaklaşık 16 saat içinde 11 webhook teslimat denemesine göre tasarlayın, olayları tekilleştirin, hataları inceleyin ve toparlanma sonrası tekrar gönderin.

Uç noktanız 2xx dışı bir durum döndürürse veya 10 saniyelik zaman aşımını aşarsa, Paymos üstel geri çekilmeyle (x2) yeniden dener. Yaklaşık 16 saat içinde toplam 11 deneme (1 ilk + 10 yeniden deneme).

Geri çekilme takvimi

Deneme Öncekinden sonraki gecikme Kümülatif gecikme
1 anında 0
2 1 dk 1 dk
3 2 dk 3 dk
4 4 dk 7 dk
5 8 dk 15 dk
6 16 dk 31 dk
7 32 dk ~1 saat
8 1 saat ~2 saat
9 2 saat ~4 saat
10 4 saat ~8 saat
11 8 saat ~16 saat

11 denemenin tamamından sonra olay failed olarak işaretlenir. Başarısız olaylar Panel'den tekrar gönderilebilir — tekrar gönderme deneme sayacını sıfırlar ve olayı teslimat için yeniden kuyruğa alır.

Idempotency

Teslimat at-least-once'tır. Yeniden denemeler sırasında yinelenen teslimatlar normaldir — işleyiciniz idempotent olmalıdır. Her teslimat, X-Webhook-Id başlığında (ve gövdedeki event_id alanında) aynı kararlı kimliği taşır; yeniden denemeler ve tekrar gönderimlerde değişmez — gövdeyi ayrıştırmadan ona göre tekilleştirin. İşlenen kimlikleri kalıcı kaydedin ve tekrarları 200 OK işlemsiz olarak ele alın.

Başarılı teslimat sayılan durum

  • 10 saniye içinde HTTP 2xx yanıtı → teslimat başarılı
  • HTTP 4xx veya 5xx → başarısız sayılır, yeniden denenir
  • Bağlantı reddi, DNS hatası, TLS hatası → başarısız sayılır, yeniden denenir
  • 10 saniyeden sonra yanıt → başarısız sayılır, yeniden denenir (uç noktanız kopyayı yine de işleyebilir)

Olay sizin tarafınızda kalıcı kaydedilir kaydedilmez 2xx döndürün. Pahalı işlemleri arka plan kuyruğuna erteleyin; böylece webhook işleyicisi zaman aşımının altında kalır.