Webhooks
SplashPay sends webhook notifications whenever the status of a disbursement changes. Instead of continuously polling the Status API, configure a webhook endpoint to receive real-time updates for successful, failed, or cancelled disbursements.Configure a Webhook
You can configure your webhook URL from the SplashPay Merchant Dashboard or when creating your application. Your endpoint must:- Be publicly accessible over HTTPS
- Accept
POSTrequests - Return an HTTP
2xxresponse within 30 seconds
Headers
Every webhook request includes the following headers.
Example
Events
SplashPay currently sends the following disbursement events.Example Payload
Verify Webhook Signature
Always verify the webhook signature before processing the payload. The signature is generated using your Webhook Secret. Algorithm:X-SplashPay-Signature header.
Laravel Example
Signature Verification Example
Response
Your endpoint should return an HTTP 200 OK response after successfully processing the webhook. ExampleRetry Policy
If SplashPay does not receive a successful 2xx response, the webhook will be retried using an exponential backoff strategy. Typical retry schedule:Best Practices
1
Verify every signature
Never trust incoming webhook requests without verifying the signature.
2
Respond quickly
Return an HTTP 200 response as soon as possible. Perform heavy processing asynchronously.
3
Handle duplicate events
Webhook deliveries may be retried. Process events idempotently using the transaction reference.
4
Log webhook requests
Log incoming payloads and headers for troubleshooting and auditing.
