Ayar ve header’lar
Botta 🪝 Webhook’lar → URL ayarla yolunu açın. Test webhook’u gönder, Gizli anahtarı yenile ve Teslimat kayıtları aynı ekrandadır. Her POST; GramPay-Event, GramPay-Delivery-ID, GramPay-Timestamp ve GramPay-Signature: sha256=<hex> taşır.
İmzayı doğrulama
const expected = 'sha256=' + crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
HMAC-SHA256’yı JSON parse edilmeden önce gelen kesin byte’lar üzerinde hesaplayın, sabit zamanlı karşılaştırın ve geçersiz imzaya non-2xx dönün.
Güvenlik testi ve tekrarlar
URL kaydetme/test etme aynı webhook_test gövdesini imzasız, yanlış imzalı ve doğru imzalı olarak üç kez yollar. Doğru istek 5 saniyede 2xx dönmelidir; redirect izlenmez. Geçersiz istekleri kabul etmek kurulumu engellemez ama uyarı üretir. Test tekrarlanmaz.
Gerçek olaylar yalnızca 2xx ile başarılıdır; yaklaşık dört günde en fazla 17 kez denenir. Son hatadan sonra endpoint devre dışı bırakılır. İşleyiciyi hızlı ve idempotent tutun, GramPay-Delivery-ID ile tekilleştirin ve bilinmeyen olayları loglayıp 2xx ile onaylayın. Gövde şekilleri için olaylar sayfasına bakın.