What Are Webhooks?
Webhooks are automatic notifications that Waffo Pancake sends to your server when something happens — a payment succeeds, a subscription renews, a refund is processed, etc. Why you need them:- Automate delivery: Send download links or grant access immediately after payment
- Keep your system in sync: Update your database when subscription status changes
- React to events: Handle failed payments, cancellations, and refunds in real time
Step 1: Configure Webhook URL in Dashboard
Set Your Webhook URL
Enter the URL where Waffo Pancake should send event notifications.
- Test mode URL: Your development/staging server (e.g.,
https://staging.yoursite.com/webhooks/waffo) - Production URL: Your production server (e.g.,
https://yoursite.com/webhooks/waffo)
Step 2: Understand Event Types
Waffo Pancake sends these webhook events:Payment Events
| Event | When It Fires | Common Action |
|---|---|---|
payment.succeeded | Payment completed successfully | Deliver product, grant access |
payment.failed | Payment attempt failed | Notify customer, retry |
payment.refunded | Refund processed | Revoke access, update records |
Subscription Events
| Event | When It Fires | Common Action |
|---|---|---|
subscription.created | New subscription started | Create account, set limits |
subscription.updated | Plan changed or renewed | Update access level |
subscription.canceled | Subscription fully ended | Revoke access |
subscription.expired | Subscription expired | Clean up resources |
Step 3: Set Up Email Notifications
In addition to webhook events, you can configure email notifications for both you and your customers.Merchant Notifications
Go to Settings → Notifications to choose which events trigger email alerts to you:- New orders
- New subscriptions
- Failed payments
- Refund requests

Customer Notifications
Customers automatically receive emails for:- Order confirmation
- Subscription confirmation
- Subscription renewal
- Subscription cancellation
- Payment failure
How Webhooks Work
Retry Policy
If your server doesn’t respond with a 2xx status code, Waffo Pancake retries:| Attempt | Delay |
|---|---|
| 1st retry | 5 minutes |
| 2nd retry | 30 minutes |
| 3rd retry | 2 hours |
| 4th retry | 8 hours |
| 5th retry | 24 hours |
For Developers: Code Integration
If you’re integrating webhooks with your server, here’s how the flow works:1. Create a Webhook Endpoint
Your server needs a POST endpoint to receive events. The specific implementation depends on your tech stack.2. Verify the Signature
Every webhook request includes a signature header for security. Verify it to ensure the request came from Waffo Pancake, not a malicious third party.3. Process Events
Parse the event type and data, then take the appropriate action (deliver product, update subscription status, etc.).4. Respond Quickly
Return a 200 status code as fast as possible. If you need to do heavy processing, do it asynchronously after responding.For detailed code examples and signature verification, see the API Reference — Webhooks.
Testing Webhooks
Make a Test Purchase
Use test mode to create a purchase. This triggers webhook events to your test URL.
Best Practices
- Respond quickly: Return 200 immediately, process asynchronously
- Handle duplicates: Events may be sent more than once — make your processing idempotent
- Verify signatures: Always verify the webhook signature before processing
- Log everything: Keep logs of received webhooks for debugging
- Monitor failures: Check your Dashboard for failed webhook deliveries
Checklist
- Webhook URLs configured for test and production
- Email notifications configured for your team
- Customer notification preferences set
- Test webhook received and processed successfully
- Signature verification implemented (if using code integration)
Next Steps
Manage Refunds
Handle refund requests and track refund status
API Reference — Webhooks
Detailed webhook payload format and code examples
