Webhook, Poyra’nın sunucunuza “bir şey oldu” deme yoludur — banka dönüşü sizin sunucunuza değil Poyra’ya geldiği için ödemenin sonucunu size webhook anlatır.

Uç nokta kaydı

İmza sırrı (whsec_…) yalnız bu yanıtta ve sır döndürme yanıtında düz görünür; sonrasında bir daha okunamaz. Sır döndürme eskisini anında geçersiz kılar.
Yalnız katalogdaki olay adlarına abone olunabilir; yazım hatası kabul edilmez — sessizce yanlış yazılmış bir abonelik hiç teslimat üretmez ve bunu ancak beklediğiniz çağrı gelmediğinde fark ederdiniz.

Olay kataloğu (16 olay)

Ödeme olayları düz yük taşır (payment_id, amount_minor, currency, hata varsa error); abonelik ve itiraz olayları ortak alanlar + data sarmalayıcısıyla gelir — tek ayrıştırıcı yazarsınız.

Bir teslimat neye benzer

İmzayı doğrulama

İmzalanan değer "{t}.{ham gövde}" dizesidir; sırrınızla HMAC-SHA256 alınır ve küçük harf hex yazılır. Doğrulamayı ham gövde üzerinde, JSON ayrıştırmadan önce yapın — yeniden serileştirme boşlukları değiştirir ve imza asla tutmaz.
Zaman penceresi (örneklerde 300 saniye) sizin tarafınızda uygulanan bir öneridir; protokol sunucu tarafında bir pencere zorlamaz. İmza aracını kaldırmadan pencereyi ihtiyacınıza göre ayarlayabilirsiniz.

Teslimat garantisi ve yeniden deneme

  • Başarı ölçütü 2xx’tir; başka her yanıt başarısızlıktır.
  • Başarısız teslimat üstel aralıklarla yeniden denenir: 1 dk → 5 dk → 30 dk → 2 sa → 6 sa → 24 sa. İlk deneme + 6 tekrar = 7 hak, toplam ~32,5 saat.
  • Hak bitince kayıt “tükenmiş” olarak kuyrukta kalır; panelden ya da POST /v1/webhook-deliveries/{id}/replay ile elle yeniden gönderilir. Yeniden gönderim eski kaydı değiştirmez, ona bağlı yeni kayıt açar — “kaç kez denendi” sorusu denetimde izlenebilir kalır.
  • Teslim en az bir keztir: aynı olay birden çok kez gelebilir. İşleyiciniz idempotent olmalı; Poyra-Delivery-Id tekilleştirme anahtarınızdır.
  • Normal akışta teslim saniyeler içindedir: olay, ödeme sonucunu yazan transaction’da kuyruğa girer ve kuyruk anında dürtülür; dakikalık süpürücü güvencedir.
Teslimat geçmişi GET /v1/webhook-deliveries ile (durum ve uç filtreli) ya da panelin Webhook’lar sayfasından izlenir.