Skip to main content

Mobile Money

The Mobile Money API allows merchants to initiate customer payments using Tanzania’s leading mobile money providers through a single integration. Supported networks include:
  • M-Pesa
  • Airtel Money
  • Mixx by Yas
  • HaloPesa
  • EzyPesa
  • TTCL Pesa
SplashPay automatically routes the payment request to the appropriate provider based on the customer’s mobile number.

Endpoint


Base URLs


Request Body


Example Request


Successful Response

If the request is accepted successfully, SplashPay returns a 200 OK response with the payment details.

Response Fields

A successful initiation does not mean the customer has completed payment. The initial transaction status is typically pending. You should wait for a webhook notification or query the Payment Status endpoint to determine the final payment outcome.

Payment Status


Sample Webhook Payload

When a payment reaches a final state, SplashPay sends an HTTP POST request to your configured webhook endpoint.

Webhook Fields


Supported Events

SplashPay currently sends the following payment events:
Webhook notifications may be delivered more than once. Your webhook endpoint should be idempotent by checking the payment reference before processing the event.
Always verify the webhook signature before processing the payload and return an HTTP 200 OK response after successful processing to prevent unnecessary retries.

Error Responses

Invalid Request

Invalid API Credentials

Duplicate Request


Best Practices

1

Generate a unique reference

Every payment should have a unique merchant reference.
2

Use an Idempotency Key

Reuse the same Idempotency-Key only when retrying the same request.
3

Handle Webhooks

Always update your payment status using webhook notifications instead of relying only on the synchronous API response.
4

Store the SplashPay Reference

Persist the payment reference returned by SplashPay for reconciliation and support.