Mobile Payout

Welcome
Payments
Payouts
Postman

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.

🌐
POST https://chpter.co/api/payout/mobile-money-payout

Endpoint Parameters

Here is the full list of parameters you can pass:

client_details: objectrequired

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: objectrequired

An object providing payout destination details.

type: stringrequired

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: objectrequired

An object providing payout details.

amount: stringrequired

Total Amount intended to be sent by this payout. A positive integer representing how much to payout.

currency: stringrequired

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: stringrequired

Any additional descriptions about the payout

webhook_endpoint: objectrequired

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
}