Skip to main content

Webhooks

SplashPay uses webhooks to notify your application whenever a payment reaches a final state. Instead of continuously polling the Payment Status endpoint, configure a webhook endpoint to receive instant updates.

Real-time Notifications

SplashPay automatically sends an HTTP POST request to your webhook URL whenever a payment status changes.

Configure Your Webhook URL

You can configure your webhook URL from the SplashPay Merchant Dashboard or via the Merchant API. Example:
Your endpoint must:
  • Support HTTPS
  • Accept HTTP POST requests
  • Return HTTP 200 OK after successful processing
  • Be publicly accessible

Webhook Events

SplashPay currently sends the following events.

Sample Webhook

SplashPay sends webhook notifications using the following JSON structure.

Webhook Payload


Verify Webhook Signature

Every webhook request includes a signature that allows you to verify the payload originated from SplashPay. Compute the HMAC using your Webhook Secret.
If the computed signature matches the X-SPLASHPAY-SIGNATURE header, the request is authentic.

Example Verification (PHP)


Example Verification (Node.js)


Return HTTP 200

After successfully processing the webhook, return:
Example

Retry Policy

If SplashPay does not receive a successful response (HTTP 200), the webhook will be retried automatically. After the final retry, the webhook is marked as failed.

Best Practices

1

Always verify signatures

Reject webhook requests with invalid signatures.
2

Process asynchronously

Respond with HTTP 200 immediately, then process the webhook in the background.
3

Use idempotent processing

The same webhook may be delivered more than once. Use the payment reference to avoid duplicate processing.
4

Store provider references

Persist both the merchant reference and provider reference for reconciliation.
5

Do not trust browser redirects

Always rely on webhooks to determine the final payment status.

Event Lifecycle


Testing Webhooks

During development you can expose your local server using tools such as:
  • ngrok
  • Cloudflare Tunnel
  • LocalTunnel
Example:

Supported Payment Methods

Webhooks are sent for all SplashPay collection methods:
  • Mobile Money
  • Card Payments
  • Dynamic TANQR

Next Steps

Payment Status

Retrieve the latest status of any payment.

Collections Overview

Learn more about SplashPay Collections.