S2S MoMo (KES and GHS)
Initiate S2S
Content-Type
Set value to application/json
Post a request to the URL below, where the base URL is determined by the environment you are in.
POST {{baseurl}}/transaction/initialize/s2s/mobile_money
Here's a sample request below
{
"provider": "mpesa",
"phone": "0710000000",
"email": "kass1-pms@customer.com",
"amount": 3000,
"currency": "KES"
}
{
"provider": "MTN",
"phone": "0551234987",
"amount": 300000,
"currency": "GHS",
"email": "test-pms@customer.com"
}
Here's a sample response
{
"success": true,
"message": "Charge attempted, requery to get status",
"data": {
"nextStep": "PIN",
"reference": "610ae86889ee"
}
}
The next step can either be OTP or PIN. If your customer is new to the service, they'll receive an OTP initially. Afterwards, for subsequent transactions, they'll be provided with a PIN.
When it is an OTP; you need to present the User with a screen to enter OTP and then call the endpoint below
OTP Verify
POST {{baseurl}}/transaction/initialize/s2s/mobile_money/otp-verify
Here's a sample response
{
"reference": "610ae86889ee",
"otp": "123456"
}
Here's a sample response
{
"status": true,
"message": "Charge attempted",
"data": {
"status": "requery",
"message": "Confirming payment"
}
}
However, if the next step is a PIN your users only need to enter their PIN on the prompt on their phone.
Last updated