Webhooks
Webhooks notify your server in real-time when transaction events occur — completions, failures, refunds, and more.Setting Up Webhooks
Via Dashboard
- Go to Settings > Webhooks in the Partner Dashboard
- Click Add Endpoint
- Enter your endpoint URL
- Select the events you want to receive
- Save and note the signing secret
Via API
Webhook Payload
All webhooks follow this structure:Verifying Signatures
All webhooks include an HMAC signature in theX-Webhook-Signature header. Always verify this signature.
Node.js
Python
Transaction Events
Partner Metadata in Webhooks
Every webhook payload includes ametadata object on the order. If you passed partnerMetadata when creating a checkout intent, or metadata when creating a session, it appears under metadata.partnerMetadata:
System keys (
provider, providerOrderId, email, paymentMethodId) are reserved and cannot be overwritten by partner data. Your data is always safely namespaced under partnerMetadata.How metadata flows
Extracting your data from a webhook
Handling Events
Retry Policy
Failed webhook deliveries are retried with exponential backoff:
After 7 failed attempts, the webhook is moved to the dead-letter queue.