Webhooks provide a mechanism for real-time notifications when specific events occur within Dodo Payments, enabling seamless automation and integration with your application.
Access Webhook Settings
Settings > Webhooks
.Create Webhook Endpoint
Add Webhook
to create a new webhook endpoint.Configure Endpoint
Get Secret Key
Secret Key
from the settings page. You’ll use this to verify the authenticity of received webhooks.Rotate Secret (Optional)
Navigate to Webhook Details
Settings > Webhooks
.Select Your Endpoint
Open Event Settings
View Available Events
dispute
, payment
, subscription
).Search and Filter
Select Events
dispute.accepted
, dispute.challenged
)Review Event Details
Save Configuration
15-second
timeout window, including both connection and read timeouts.Retry Schedule
Total Timeline
webhook-id
header. Use this to implement idempotency and avoid processing the same event multiple times.webhook-id
header to process events correctly.webhook-signature
header — an HMAC SHA256 signature of the webhook payload and timestamp, signed with your secret key.
To verify a webhook came from DodoPayments:
webhook-id
, webhook-timestamp
, and stringified payload
values from the webhook with periods (.
)webhook-signature
header value. If they match, the webhook is authentic.
2xx status code
to acknowledge receipt of the event.Navigate to Webhooks
Settings > Webhooks
.Select Your Endpoint
Open Testing Tab
Select Event Type
payment.succeeded
, payment.failed
, etc.).Review Schema and Example
Send Test Event
Check Your Endpoint
Verify Signature
Test Response
2xx
status code to acknowledge receipt.Express.js
code snippet on how you can listen and verify our webhooks.
Access Rate Limit Settings
Configure Rate Limit
Set Limits
Add Custom Header
Add Multiple Headers
Save Configuration
Enable Transformations
Configure Transformation
Test Transformation