Moneywave
  • Moneywave
  • Introduction
  • Send Money to People
    • Banks and Destinations
    • Single Payout
    • Examples
      • Single USD Payout
      • Single ZAR Payout
      • Single KES Payout
    • Check Payout Status
    • Mass Payout
  • Funding for Payout
    • Balances
    • How to Fund
    • Fund with Cards
    • Fund via USSD
    • Check Funding Status
  • Transaction Reporting
    • Search / List
  • Manage Balances
    • Create Balance
    • Fetch Balance
    • Transfer Balance
  • Notifications
    • Asynchronous Payouts
    • Mass Payouts
    • Funding
    • Reversals
  • Authentication
  • POS
    • Onboarding
    • Dispense Error
Powered by GitBook
On this page
  • Disburse into Kenya in KES
  • Disburse KES - Single
  • Confirming Success
  1. Send Money to People
  2. Examples

Single KES Payout

PreviousSingle ZAR PayoutNextCheck Payout Status

Last updated 1 year ago

Disburse into Kenya in KES

To send money to a single bank account, you need a single API. This process requires an active balance where the funds are debited then sent.

Setup an Active Balance for your payouts

Disburse KES - Single

POST https://staging.moneywaveapp.com/v1/disburse

Destination and transfer details are passed for processing

Headers

Name
Type
Description

Authorization

string

Authorization Token

Request Body

Name
Type
Description

lock*

String

Password required to access active wallet

senderName*

String

Sender/Business Name to appear in the bank statement

accountNumber*

String

Beneficiary account number.

bankcode*

String

Destination Bank

currency*

String

Currency of amount to send i.e USD

amount*

String

Amount to send

ref*

String

Unique transaction tracking reference

narration*

String

Description to appear in bank Statement

x_recipient_name*

String

Beneficiary Name

x_recipient_address

String

Beneficiary address

walletUref

String

Specify the source balance

x_sender_id_type*

String

Sender ID type

x_sender_id_number*

String

Sender ID type number

x_sender_nationality*

String

Sender Nationality

x_sender_source_of_funds*

String

Sender source of funds - Bank account, Card payment, etc

x_sender_dob*

String

Sender Date of Birth

x_senderOccupation*

String

Sender Occupation

{
  "status": "success",
  "data": {
    "data": {
      "responsecode": "00",
      "responsemessage": "Approved Or Completed Successfully",
      "uniquereference": "TMW000000318"
    },
    "status": "success"
  } 
}
Select a Language above ...
var unirest = require("unirest");
var base_url = "https://staging.moneywaveapp.com";
var req = unirest("POST", `${base_url}/v1/disburse`);

req.headers({
  "Authorization": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IlRocml2ZSIsImFjY291bnROdW1iZXIiOiIwNjkwMDAwMDAiLCJiYW5rQ29kZSI6IjMwNyIsImlzQWN0aXZlIjp0cnVlLCJlbnZpcm9ubWVudCI6ImxpdmUiLCJjYW5fZ29saXZlIjp0cnVlLCJjb3VudGRvd24iOm51bGwsImNvbXBsaWFuY2UiOjgsImNvZGUiOiJNTDU4MCIsInBvc0lkIjoiMTE0NjMiLCJlYmlsbElkIjoiTVRGVyIsImlwIjpudWxsLCJjcmVhdGVkQXQiOiIyMDE2LTA5LTE2VDEzOjQ5OjIzLjAwMFoiLCJ1cGRhdGVkQXQiOiIyMDE3LTA3LTE5VDE0OjA2OjM2LjAwMFoiLCJkZWxldGVkQXQiOm51bGwsImlhdCI6MTUzMDIxMTc4MiwiZXhwIjoxNTMwMjE4OTgyfQ.gQDK03I9Jc0dO21RxsZjG0k4Px0NzTk4tRnkbV5VciU",
  "Content-Type": "application/json"
});
req.type("json");
req.send({
  "ref": "SD252849857Z",
  "amount": "50",
  "currency": "KES",
  "bankcode": "09",
  "accountNumber": "0600000004",
  "senderName": "ABCompany",
  "lock": "walpassword",
  "narration": "Purchases",
  "x_recipient_name": "OLUWAFEMI DAYO",
  "x_recipient_address": "99, ABC DRIVE",
  "x_recipient_email": "abc@gmail.com",
  "x_recipient_phone": "+235456789",
  "x_sender_name": "John",
  "x_sender_email": "john@gmail.com",
  "x_sender_phone": "+235456789",
  "x_sender_address": "Accra",
  "x_sender_location": "Ghana",
  "x_sender_country": "GH",
  "x_transfer_type": "ACCOUNT",
  "x_sender_id_type": "passport",
  "x_sender_id_number": "1",
  "x_sender_nationality": "GH",
  "x_sender_source_of_funds": "Bank Account",
  "x_sender_dob": "2023/08/02",
  "x_senderOccupation": "Manager",
});

req.end(function (res) {
  if (res.error) console.log(res.code, res.body);
  else console.log(res.body);
});
<?php

$curl = curl_init();
$base_url = "https://staging.moneywaveapp.com";
$header = array(
  "Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IlRocml2ZSIsImFjY291bnROdW1iZXIiOiIwNjkwMDAwMDAiLCJiYW5rQ29kZSI6IjMwNyIsImlzQWN0aXZlIjp0cnVlLCJlbnZpcm9ubWVudCI6ImxpdmUiLCJjYW5fZ29saXZlIjp0cnVlLCJjb3VudGRvd24iOm51bGwsImNvbXBsaWFuY2UiOjgsImNvZGUiOiJNTDU4MCIsInBvc0lkIjoiMTE0NjMiLCJlYmlsbElkIjoiTVRGVyIsImlwIjpudWxsLCJjcmVhdGVkQXQiOiIyMDE2LTA5LTE2VDEzOjQ5OjIzLjAwMFoiLCJ1cGRhdGVkQXQiOiIyMDE3LTA3LTE5VDE0OjA2OjM2LjAwMFoiLCJkZWxldGVkQXQiOm51bGwsImlhdCI6MTUzMDIxMDY4MywiZXhwIjoxNTMwMjE3ODgzfQ.IO4iX_estdWbe2dHey27bj5xsZC0skXHGdFUMTQSJfI",
  "Content-Type: application/json",
);

$body = array(
  "ref": "SD252849857Z",
  "amount": "50",
  "currency": "KES",
  "bankcode": "09",
  "accountNumber": "0600000004",
  "senderName": "ABCompany",
  "lock": "walpassword",
  "narration": "Purchases",
  "x_recipient_name": "OLUWAFEMI DAYO",
  "x_recipient_address": "99, ABC DRIVE",
  "x_recipient_email": "abc@gmail.com",
  "x_recipient_phone": "+235456789",
  "x_sender_name": "John",
  "x_sender_email": "john@gmail.com",
  "x_sender_phone": "+235456789",
  "x_sender_address": "Accra",
  "x_sender_location": "Ghana",
  "x_sender_country": "GH",
  "x_transfer_type": "ACCOUNT",
  "x_sender_id_type": "passport",
  "x_sender_id_number": "1",
  "x_sender_nationality": "GH",
  "x_sender_source_of_funds": "Bank Account",
  "x_sender_dob": "2023/08/02",
  "x_senderOccupation": "Manager",
);

curl_setopt_array($curl, array(
  CURLOPT_URL => $base_url . "/v1/disburse",
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 180,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_POSTFIELDS => json_encode($body),
  CURLOPT_HTTPHEADER => $header,
));

$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);


if ($err) {
  echo "cURL Error #:" . $err;
} else {
  $decodedResponse = json_decode($response, true);

  echo "<pre>"; print_r($decodedResponse);
}

The ref passed must be unique to prevent double disbursements to the same beneficiary. Preferably the ref used should match a unique customer action, for example a loan ID, settlement ID or charge / payment reference.

Increase timeout settings in your http client to 180 seconds. This ensures you receive an expected response for payouts with long processing times.

Confirming Success

After a disburse request is received via API, it is submitted for processing. When completed a response is returned. See the example response in the API snippet above.

A disbursement is successful only when the disburse API response has the value below.

"responsecode" : "00"

here