Send one payment webhook to many services
Give your gateway one URL. Hooksnode sends each event to your ledger, wallet, CRM and notifications, each with its own retries.
- Time:
- 5 minutes
- Plan:
- Free
- Code:
- None
gateway → hooksnode → ledger, wallet, crm, notifications
The problem
A payment gateway allows only one webhook URL. Your ledger, wallet service and notification service all need the event. If one service is down, the others miss it too.
What you get
- One URL in the gateway, many destinations behind it.
- Each destination retries on its own with back-off. One slow service does not block the rest.
- Hooksnode drops exact resends of a signed request within 10 minutes. Paystack can still deliver the same event more than once, so make each service idempotent on data.reference. For Flutterwave, use data.tx_ref.
Steps
- 1
Create a webhook source
In your project, go to Sources, click Add source and pick Webhook URL. Pick the signature preset of your gateway, so Hooksnode checks each request.
- 2
Paste the URL into the gateway
Copy the source URL and set it as the webhook URL in your gateway dashboard.
- 3
Add a destination for each service
Go to Destinations and click Add destination for each service URL. Each forwarded request carries an X-Hooksnode-Signature header, so your service can check that it came from Hooksnode.
- 4
Send each service only what it needs
Add a filter to a destination. For example, the ledger only gets successful charges:
{"event": "charge.success"}
Tips
- Use a transform to reshape the body for a service that expects a different format.
- The events page shows every attempt. Retry failed deliveries in one click.
- Read how Shuttlers replaced five webhook endpoints with one Hooksnode URL on the blog.