In the sandbox
Use polling while testing:waitForPaid defaults to a three-second interval and a ten-minute timeout.
It returns true when paid and false on timeout.
Sandbox webhook registration currently returns 503 secret_store_unavailable
when signing secrets cannot be stored. Listing endpoints and deliveries still
works; use polling for the sandbox payment loop.
Register a production endpoint
INFI_WEBHOOK_SECRET. Do not expose it to the browser or commit it.
Verify the signature
Read the raw request body before parsing JSON:X-Webhook-Event-Type. The payload is JSON; amounts
and UUIDs are strings. Optional fields may be absent.
Common events
An invoice may involve multiple payments. Select the event that matches the
business operation you need to trigger.