Skip to main content

Mobile Money

Payments received by the merchant into their account are referred to as collections/payins. This section will show how they are supported by the 54Pay platform.

Currently, this API allows for funds collection using Mobile Money; many more methods will be added in the future. To find out more, see the supported countries page. Customers will be able to pay however it is most convenient for them because of this flexibility. Kindly visit here to learn more about request headers. To view test mobile numbers, visit the Sandbox Tests page.

Sample Collection Request (Authenticated)

curl --location 'https://subsidiary.dev.mypaygate.co/collection/v1/payin' \
--header 'Accept: application/json' \
--header 'X-module: {{BASE64(amount+transactionReference+customerNumber)}}' \
--header 'X-business: {{BASE64(MERCHANT_PUBLIC_KEY)}}' \
--header 'X-app: api' \
--header 'Content-Type: application/json' \
--data-raw '{
"requestHeader": {
"clientId": "",
"requestType": "Collections"
},
"customerName": "Ayo Akin",
"customerEmail": "a@a.com",
"customerNumber": "254710000000",
"transactionReference": "QATXN65402144",
"transactionDescription": "Test",
"transactionAmount": 50,
"transactionCurrency": "KES",
"transactionCountry": "KE",
"transactionType": "1",
"successUrl": "",
"errorUrl": "",
"cancelUrl": "",
"operatorCode": "KESAF",
"webhookUrl": "https://webhook.site/a508c40d-424a-4b6b-bb37-7d686519e60d"
}'

Sample Response

{
"responseDetails": {
"responseCode": "09",
"responseMessage": "PENDING"
},
"transactionReference": "QATXN65402144",
"otpIsRequired": false,
"lengthOfOtp": 0,
"redirectionRequired": false
}

Sample Webhooks

{
"transaction_reference": "PG-C-176108781582881",
"transaction_status": "Funds Received",
"transaction_fee": 0,
"amount_received": 100,
"initiated_date": "2025-10-22 00:03:35",
"current_status_date": "2025-10-22 00:05:15",
"received_from": {},
"merchant_reference": "QATXN00862336",
"status": "COMPLETED",
"channel": "MOBILE_MONEY",
"currency_code": "GHS"
}

Base URLs