Skip to main content
Webhook’lar, sunucunuza HTTP POST isteği göndererek ödeme, iade, mutabakat gibi olayları gerçek zamanlı bildirir. Polling yerine event-driven çalışmanın yoludur.
Bu sayfa genel webhook prensiplerini açıklar. Sanal POS özelinde olay listesi ve örnek payload’lar için: Sanal POS Webhook Olayları.

Neden webhook?

Akış

Endpoint kuralları

Webhook endpoint’iniz aşağıdaki kurallara uymalıdır:
HTTPS zorunlu — HTTP URL’leri reddedilir.
Public erişilebilir — özel ağ veya VPN arkasında olamaz.
15 saniye içinde HTTP 2xx döner — Payven delivery timeout’u 15 saniyedir; performans için handler’ınızı 5 saniyenin altında tamamlamayı hedefleyin, uzun süren işler için iş kuyruğa atılmalıdır.
Idempotent çalışır — aynı olay birden fazla kez gelebilir.
İmzayı doğrular — sahte istekleri reddeder.

Genel istek formatı

İmza doğrulama (kısa)

Request body ile timestamp’i subscription.secret ile HMAC-SHA256 hashlenir. Detay ve kod örnekleri: İmza Doğrulama.

Yeniden deneme

İlk denemede 2xx dönmezse Payven otomatik olarak yeniden dener: Tüm bekleme süreleri ±%20 jitter ile uygulanır. 6. denemeden sonra hâlâ başarılı olunmamışsa teslim “kalıcı başarısız” olarak işaretlenir; konsoldan manuel olarak yeniden tetiklenebilir. Detay: Yeniden Deneme Politikası.

Abone olmak

Webhook abonelikleri her ürün için ayrı tanımlanır. Sanal POS örneği:
Yanıttaki secret değerini saklayın — imza doğrulamasında kullanacaksınız.

Test ve debug

Konsol → Webhook Teslim Kayıtları ekranından her teslim denemesinin:
  • HTTP yanıt kodunu,
  • Response body’sini,
  • Süresini,
  • Yeniden deneme sayısını,
  • Tam request/response payload’unu
görebilirsiniz. Lokal geliştirmede ngrok veya Cloudflare Tunnel gibi araçlarla local endpoint’inizi internete açabilirsiniz.