Initiate Payout

This page shows how to send a mobile money payout using the Initiate Payout endpoint. To run it interactively, use the Initiate Payout endpoint and select the "Mobile Money Payout" example.

POST https://sandboxapi.fincra.com/disbursements/payouts

Headers

HeaderRequiredDescription
api-keyYesYour Fincra secret API key.
acceptYesapplication/json
content-typeYesapplication/json

Body params

FieldTypeRequiredDescription
sourceCurrencystring (enum)YesCurrency used to fund the payout. One of USDT, GHS, KES, UGX, TZS, USD, EUR, GBP, ZMW, ZAR, USDC, CNGN, NGN, XAF, XOF.
destinationCurrencystring (enum)YesCurrency the recipient receives. Same enum as sourceCurrency.
amountstringYesThe value to transfer from the source wallet.
businessstringYesThe unique identifier of the parent business.
descriptionstringYesThe description of the payout.
customerReferencestringYesYour unique reference for this transaction. Prevents duplicate transactions.
paymentDestinationstring (enum)YesUse mobile_money_wallet for mobile money payouts.
paymentSchemestring (enum)NoNot required for mobile money payouts.
quoteReferencestringConditionalRequired only for cross-currency payouts (e.g. NGNKES). Generate it via Generate Quote.
beneficiaryobjectYesThe recipient details (see below).

beneficiary (mobile money)

FieldTypeRequiredDescription
firstNamestringYesThe recipient's first name.
lastNamestringYesThe recipient's last name.
typestring (enum)Yesindividual or corporate.
phonestringYesThe recipient's phone number (mobile money wallet).
mobileMoneyCodestringYesThe mobile money operator code (see List Mobile Money Operators).

Example request

{
  "business": "xxxxxxxxxxxxxxxxxxxxxxxx",
  "sourceCurrency": "KES",
  "destinationCurrency": "KES",
  "amount": "1000",
  "description": "Payment for services",
  "paymentDestination": "mobile_money_wallet",
  "customerReference": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "beneficiary": {
    "firstName": "John",
    "lastName": "Doe",
    "type": "individual",
    "phone": "+254700000000",
    "mobileMoneyCode": "MPESA"
  }
}
curl --request POST \
  --url https://sandboxapi.fincra.com/disbursements/payouts \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --header 'api-key: YOUR_API_KEY' \
  --data '{
    "business": "xxxxxxxxxxxxxxxxxxxxxxxx",
    "sourceCurrency": "KES",
    "destinationCurrency": "KES",
    "amount": "1000",
    "description": "Payment for services",
    "paymentDestination": "mobile_money_wallet",
    "customerReference": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "beneficiary": {
      "firstName": "John",
      "lastName": "Doe",
      "type": "individual",
      "phone": "+254700000000",
      "mobileMoneyCode": "MPESA"
    }
  }'

Success response (200)

{
  "success": true,
  "message": "Payout processed successfully",
  "data": {
    "id": 1254,
    "reference": "5dcf24700a9a4f67",
    "customerReference": "TXT-001",
    "status": "processing",
    "documentsRequired": []
  }
}

Error response (422)

{
  "success": false,
  "error": "Cannot continue, Duplicate Customer Reference Passed",
  "errorType": "DUPLICATE_CUSTOMER_REFERENCE"
}