Language
Tools
Step 5: Send Money to external recipients
Seamlessly disburse payments to your suppliers and employees using the K2 Connect API. Suppliers can receive payments via there Bank Account, Till, or Paybill, while employees can be paid directly into their Bank Accounts or Mobile Wallets.
We will immediately send the money if the destination already exists. If it does not, we will create the destination first before sending the money.
POST https://sandbox.kopokopo.com/api/v2/send_money
Accept: application/json
Content-Type: application/json
Authorization: Bearer 0Sn0W6kzNicvoWhDbQcVSKLRUpGjIdlPSEYyrHqrDDoRnQwE7Q
{
"destinations": [
{
"type": "mobile_wallet",
"nickname": "Jane Doe",
"phone_number": "254900000000",
"network": "Safaricom",
"amount": 1000,
"description": "Reason for payment",
"favourite": true
},
{
"type": "mobile_wallet",
"nickname": "John Doe",
"phone_number": "254900111111",
"network": "Safaricom",
"amount": 1000,
"description": "Reason for payment",
"favourite": true
}
],
"source_identifier": "4321",
"currency": "KES",
"metadata": {
"customerId": "8675309",
"notes": "Salary payment for September 2025"
},
"_links": {
"callback_url": "https://dummy_callback_url/send_money_result"
}
}
HTTP/1.1 201 Created
Location: https://sandbox.kopokopo.com/api/v2/send_money/d76265cd-0951-e511-80da-0aa34a9b2388
your_input = {
destination_type: "bank_account",
destination_reference: "c7f300c0-f1ef-4151-9bbe-005005aa3747",
currency: "KES",
value: 20000,
description: "Salary payment for May 2018",
category: "salaries",
tags: ["tag 1", "tag 2"],
metadata: {
customer_id: "8675309",
notes: "Salary payment for May 2018"
},
callback_url: "https://dummy_callback_url/payment_result"
}
# Using K2Connect - https://github.com/kopokpo/k2-connect-ruby (Recommended)
k2_pay = K2Pay.new('your_access_token')
k2_pay.create_payment(your_input)
k2_pay.payments_location_url # => "https://sandbox.kopokopo.com/api/v2/send_money/d76265cd-0951-e511-80da-0aa34a9b2388"
var destinations = [{
type: "bank_account",
bank_branch_ref: "c7f300c0-f1ef-4151-9bbe-005005aa3747",
account_name: "John Doe",
account_number: "123456789",
nickname: "JD",
amount: "20000",
description: "Salary payment for May 2018",
favourite: true,
}]
var sendMoneyOpts = {
sourceIdentifier: "43219",
currency: "KES",
destinations: destinations,
metadata: {
customerId: "8675309",
notes: "Salary payment for May 2018"
},
callbackUrl: "https://dummy_callback_url/payment_result",
accessToken: 'myRand0mAcc3ssT0k3n'
}
// Using Kopo Kopo Connect - https://github.com/kopokopo/k2-connect-node (Recommended)
const SendMoneyService = K2.SendMoneyService
SendMoneyService.sendMoney(sendMoneyOpts)
.then((response) => {
console.log(response) // => 'https://sandbox.kopokopo.com/api/v2/send_money/d76265cd-0951-e511-80da-0aa34a9b2388
})
.catch((error) => {
console.error(error);
});
send_money_request = {
"type": "bank_account",
"nickname": "JD",
"account_name": "John Doe",
"account_number": "123456789",
"bank_branch_ref": "c7f300c0-f1ef-4151-9bbe-005005aa3747",
"amount": 20000,
"description": "Salary payment for May 2018",
"favourite": True
}
# Using k2-connect - https://github.com/kopokopo/k2-connect-python (Recommended)
send_money_service = k2connect.SendMoney(access_token=access_token)
send_money_location = send_money_service.create_payment(send_money_request)
send_money_location # => 'https://sandbox.kopokopo.com/api/v2/send_money/d76265cd-0951-e511-80da-0aa34a9b2388'
<?
// Using KopoKopoConnect - https://github.com/kopokopo/k2-connect-php (Recommended
$sendMoneyService = $K2->SendMoneyService();
$sendMoneyRequest = [
"destinations" => [
[
"type" => "mobile_wallet",
"amount" => 1000,
"network" => "Safaricom",
"nickname" => "External Wallet 1",
"favourite" => true,
"description" => "Sending money to external mobile wallet 1",
"phoneNumber" => "25490000000"
],
[
"type" => "mobile_wallet",
"amount" => 1000,
"network" => "Safaricom",
"nickname" => "External Wallet 2",
"favourite" => false,
"description" => "Sending money to external mobile wallet 2",
"phoneNumber" => "254900111222"
]
],
"currency" => "KES",
"sourceIdentifier" => "4321",
"metadata" => [
"notes" => "Salary payment for September 2025"
],
"callbackUrl" => "https://dummy_callback_url/send_money_result",
"accessToken" => "myRand0mAcc3ssT0k3n"
];
$response = $sendMoneyService->sendMoney($sendMoneyRequest);
print_r($response); // Array([status] => success, [location] => https://sandbox.kopokopo.com/api/v2/send_money/1854d8ad-3c3c-4842-a965-5d8ea7a3cad7)
// Not Supported
// This feature is not currently available in the Flutter SDK.
// Please use one of the other SDKs (PHP, Ruby, Python, NodeJs) or the REST API.
© 2026 Kopo Kopo, Inc.
