Mobile Payout Endpoint
You can use your chpter.’s wallet as a source to send money across countries and different currencies. We've got different options to match your use case. With chpter. , you can transfer to bank accounts, mobile money wallets, and other chpter. accounts. NOTE: The minimum withdrawal amount is Ksh. 100.
To initialize the transaction, you’ll need to pass information such as payout method, phone number, full name, total amount etc. Some of the information is required and you can pass additional information to the particular payout.
Endpoint Parameters
Here is the full list of parameters you can pass:
client_details: object | required
An object providing recipient's payouts details.
full_name: string | required
The recipient's full name.
phone_number: string | required
The recipient's phone number to process the Mobile payout. Country code followed by the 9-digit customer’s Mobile Number phone number in the 2547xxxxxxxx format. The phone number should start with 7.
email: string | required
The recipient's email address.
destination: object | required
An object providing payout destination details.
type: string | required
The type of payout method at the time of the transaction.
country_code: string | required
The recipient's ISO country code.
mobile_number: string | required
The recipient's mobile number that will receive the payout money.
wallet_name: string | required
Recipient's wallet name for example Airtel Mpesa Equitel
transfer: object | required
An object providing payout details.
amount: string | required
Total Amount intended to be sent by this payout. A positive integer representing how much to payout.
currency: string | required
The currency which is used to make the payout. (3 character code)
reference_id: integer | required
Payout reference number. (unique 12 digit string for each transfer.)
description: string | required
Any additional descriptions about the payout
webhook_endpoint: object | required
An object providing your webhook/ callback url.
webhook_url: url | required
Your callback/webhook url to get success or failed responses once payouts is processed.
Request Payload
The Payment Redirect API payload example.
{
"client_details": {
"full_name": "John Doe",
"phone_number": "254700123123",
"email": "johndoe@mail.com"
},
"destination": {
"type": "mobile",
"country_code": "KE",
"mobile_number": "254700123123",
"wallet_name": "Mpesa"
},
"transfer": {
"amount": "100",
"currency": "KES",
"reference_id": "12345678901345644",
"description": "some remarks here"
},
"webhook_endpoint": {
"webhook_url": "https://example.com/webhook-url"
}
}
Response
The response you get to confirm that the mobile payout has been initiated.
Successfull response
{
"message": "Mobile Payout Initiated",
"success":true,
"status": 200
}
Failed response
{
"message":"Insufficient amount",
"success":false,
"status":400
}
Successful CallBack Response Payload
The response your callback/webhook gets when the mobile payout is successful.
{
"amount":"60",
"currency":"KES",
"message":"Payout Successful",
"payout_fee":"0.3",
"reference_id":"12345678901345644",
"status":"Success",
"transaction_id":"5083312",
"wallet_balance":"10000.55",
"code":200,
"success":true
}
Failed CallBack Response Payload
The response your callback/webhook gets when the mobile payout fails.
{
"amount":"60",
"currency":"KES",
"message":"Payout Failed",
"reference_id":"12345678901345644",
"status":"Failed",
"transaction_id":"5083312",
"code":400,
"success":false
}