Skip to main content

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 POST requests
  • Return an HTTP 2xx response within 30 seconds
Example webhook URL:

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:
Pseudo code
Compare the generated signature with the value in the X-SplashPay-Signature header.

Laravel Example


Signature Verification Example


Response

Your endpoint should return an HTTP 200 OK response after successfully processing the webhook. Example

Retry 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.