The Direct Push Payment API allows merchants to initiate instant USSD payment prompts to customer Mobile Money (MoMo) wallets. This endpoint acts as a synchronous trigger that initiates the collection payment flow, with final transaction status communicated asynchronously via webhooks.
pushpayment.success: Triggered when the customer enters their PIN and the payment successfully settles.Refer to the Push Payment Webhook for the event headers and JSON payload.
pushpayment.failed: Triggered if the customer cancels the prompt, enters an incorrect PIN, times out, or has insufficient funds etc.Refer to the Push Payment Webhook for the event headers and JSON payload.
pushpayment.reversed: Triggered if a previously successful payment is reversed by the MoMo operator (e.g., due to duplicate debit reconciliation).Refer to the Push Payment Webhook for the event headers and JSON payload.
sourceReferenceNumber is unique per payment request to prevent accidental duplicate prompts.
/collections/push/direct/initiate response as acknowledgment of prompt delivery only. Do not fulfill orders or grant service access until receiving a pushpayment.success webhook.
X-OneKhusa-Webhook-Signature header to ensure authenticity.
Bearer authentication header of the form Bearer Token, Where accessToken is the access token used to authenticate the request.
Your unique OneKhusa merchant account number.
12345678
Identifier for the targeted Mobile Money connector/provider, for example TNM Mpamba or Airtel Money. Use the Get All Connectors endpoint to look up the connector identifier.
550044
Mobile Money phone number of the payer (MSISDN).
"0999000000"
Unique reference number generated by your merchant system. Keep it unique per payment request to prevent accidental duplicate prompts.
5 - 25"OKPG90WOIJD98JKSJKH"
Narrative or memo for the transaction shown to the customer.
"Groceries Order Payment"
Payment amount requested.
100
User email initiating the API request.
"john.doe@onekhusa.com"
The request was validated and the USSD prompt was dispatched to the Mobile Money provider. This response does not confirm payment completion, use the push payment webhooks to receive the final transaction status.
Associated merchant account number.
12345678
The unique reference number passed in the request.
"OKPG90WOIJD98JKSJKH"
Internal status code, where I100 indicates successful push initiation.
"I100"
Applied fee calculation structure code, i.e. CC - Charge To Customer and CM - Charge To Merchant.
"CC"
Original transaction amount requested.
100
Processing charges and gateway fees calculated for this payment request.
2.5
Total amount to be debited/collected from the customer.
102.5