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.
Payment service provider handling the transaction.
data.provider_reference
string
Provider’s unique transaction reference.
data.status
string
Current transaction status.
data.metadata
object | null
Additional merchant-defined metadata.
data.created_at
string
Timestamp when the transaction was created (ISO-8601).
data.processing_at
string | null
Timestamp when processing began.
meta
array
Additional response metadata. Reserved for future use.
request_id
string
Unique request identifier for troubleshooting and support.
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.
SplashPay currently sends the following payment events:
Event
Description
payment.success
Payment completed successfully.
payment.failed
Payment failed.
payment.cancelled
Payment was cancelled by the customer or provider.
payment.expired
Payment request expired before completion.
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.