Can I send webhook events to multiple URLs?
Yes. Bead supports two layers of webhook delivery, and you can combine them to fan-out each event to several destinations:
Terminal webhook
PUT /Terminals/{terminalId}/webhook
All payments created by the terminal
Core order-management system, accounting queue
Per-payment overrides
webhookUrls
array in POST /payments/crypto
Only the payment being created
A/B testing, partner-specific listener, analytics hook
When you include a webhookUrls
array, Bead POSTs the same JSON payload to all of these endpoints:
The terminal’s default webhook URL
Every URL listed in
webhookUrls
No extra configuration is needed—just add the array to your create-payment request:
{
"...": "...other fields...",
"webhookUrls": [
"https://orders.example.com/bead/events",
"https://analytics.example.com/hooks/bead"
]
}
Delivery behaviour
Fan-out: events are sent to every destination in parallel.
Success criteria: each URL must return HTTP 2xx; any non-2xx triggers retries for that endpoint only (exponential back-off, 24 h window).
Same payload: the JSON body and
x-webhook-signature
are identical for every recipient, so you can reuse the same verification code.
Tips & best practices
Idempotency – process webhooks idempotently (e.g., by
trackingId
+statusCode
) in case one URL retries while another succeeds.Environment isolation – point sandbox terminals to test URLs, then add production URLs in
webhookUrls
only when you go live.Signing secrets – the HMAC uses the terminal’s
signingSecret
, even forwebhookUrls
. Share that secret securely with every service that needs to verify events.Performance – acknowledge quickly (under 1 s) and offload heavy work to background jobs.
Testing multiple endpoints
Sandbox first – set a sandbox webhook URL on the terminal.
Include a second test URL in
webhookUrls
.Create a payment in sandbox and complete it with a test wallet.
Confirm both endpoints receive the same event, signature verifies, and retries stop after 2xx.
Need more help? Email [email protected].
Last updated