Skip to main content
The platform sends a signed HTTP POST to your callback_url whenever a payment changes state.

Payload

Webhook Events


Verifying the Signature

Every webhook delivery includes an X-Webhook-Signature header — an HMAC-SHA256 hex digest of the raw request body, signed with your counter’s webhook_secret.
Always use constant-time comparison (hmac.compare_digest / timingSafeEqual) to prevent timing attacks. Never use a simple string equality check.
Python:
Node.js:

Acknowledging Delivery

Respond with HTTP 200 to acknowledge receipt. Deliveries returning a non-2xx status are retried up to 5 times with exponential backoff.