cURL
curl -X POST "https://api.onekhusa.com/sandbox/v1/disbursements/batch/transferFunds" \
--header "Authorization: Bearer your-jwt-token" \
--header "Content-Type: application/json" \
--header "Accept-Language: en" \
--header "X-Idempotency-Key: your-idempotency-key" \
-d '{
"merchantAccountNumber": 35253486,
"batchNumber": 1111,
"transferredBy": "admin@onekhusa.com"
}'import requests
url = "https://api.onekhusa.com/sandbox/v1/disbursements/batch/transferFunds"
payload = {
"merchantAccountNumber": 35253486,
"batchNumber": 1111,
"transferredBy": "admin@onekhusa.com"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
merchantAccountNumber: 35253486,
batchNumber: 1111,
transferredBy: 'admin@onekhusa.com'
})
};
fetch('https://api.onekhusa.com/sandbox/v1/disbursements/batch/transferFunds', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.onekhusa.com/sandbox/v1/disbursements/batch/transferFunds",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'merchantAccountNumber' => 35253486,
'batchNumber' => 1111,
'transferredBy' => 'admin@onekhusa.com'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.onekhusa.com/sandbox/v1/disbursements/batch/transferFunds"
payload := strings.NewReader("{\n \"merchantAccountNumber\": 35253486,\n \"batchNumber\": 1111,\n \"transferredBy\": \"admin@onekhusa.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.onekhusa.com/sandbox/v1/disbursements/batch/transferFunds")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"merchantAccountNumber\": 35253486,\n \"batchNumber\": 1111,\n \"transferredBy\": \"admin@onekhusa.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onekhusa.com/sandbox/v1/disbursements/batch/transferFunds")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"merchantAccountNumber\": 35253486,\n \"batchNumber\": 1111,\n \"transferredBy\": \"admin@onekhusa.com\"\n}"
response = http.request(request)
puts response.read_body{
"MerchantAccountNumber": 12345678,
"BatchNumber": 123456,
"CurrencyCode": "MWK",
"BatchStatusCode": "F",
"ContentType": "CSV",
"DataSource": "File",
"NumberOfSuccessfulEntries": 1200,
"TotalAmountOfSuccessfulEntries": 52000500
}Batch Disbursements
Transfer Funds
This endpoint initiates the actual funds transfer for an approved batch of disbursements. This is the final step in the batch processing workflow that moves funds from the merchants account to the beneficiaries accounts.
WARNING: Once transfer funds action is initiated for the batch disbursement, the process cannot be undone or stopped. You will be required to reconcile manually with the beneficiaries who received funds to return the funds to your merchant account
POST
/
disbursements
/
batch
/
transferFunds
cURL
curl -X POST "https://api.onekhusa.com/sandbox/v1/disbursements/batch/transferFunds" \
--header "Authorization: Bearer your-jwt-token" \
--header "Content-Type: application/json" \
--header "Accept-Language: en" \
--header "X-Idempotency-Key: your-idempotency-key" \
-d '{
"merchantAccountNumber": 35253486,
"batchNumber": 1111,
"transferredBy": "admin@onekhusa.com"
}'import requests
url = "https://api.onekhusa.com/sandbox/v1/disbursements/batch/transferFunds"
payload = {
"merchantAccountNumber": 35253486,
"batchNumber": 1111,
"transferredBy": "admin@onekhusa.com"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
merchantAccountNumber: 35253486,
batchNumber: 1111,
transferredBy: 'admin@onekhusa.com'
})
};
fetch('https://api.onekhusa.com/sandbox/v1/disbursements/batch/transferFunds', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.onekhusa.com/sandbox/v1/disbursements/batch/transferFunds",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'merchantAccountNumber' => 35253486,
'batchNumber' => 1111,
'transferredBy' => 'admin@onekhusa.com'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.onekhusa.com/sandbox/v1/disbursements/batch/transferFunds"
payload := strings.NewReader("{\n \"merchantAccountNumber\": 35253486,\n \"batchNumber\": 1111,\n \"transferredBy\": \"admin@onekhusa.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.onekhusa.com/sandbox/v1/disbursements/batch/transferFunds")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"merchantAccountNumber\": 35253486,\n \"batchNumber\": 1111,\n \"transferredBy\": \"admin@onekhusa.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onekhusa.com/sandbox/v1/disbursements/batch/transferFunds")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"merchantAccountNumber\": 35253486,\n \"batchNumber\": 1111,\n \"transferredBy\": \"admin@onekhusa.com\"\n}"
response = http.request(request)
puts response.read_body{
"MerchantAccountNumber": 12345678,
"BatchNumber": 123456,
"CurrencyCode": "MWK",
"BatchStatusCode": "F",
"ContentType": "CSV",
"DataSource": "File",
"NumberOfSuccessfulEntries": 1200,
"TotalAmountOfSuccessfulEntries": 52000500
}Authorizations
Bearer authentication header of the form Bearer Token, Where accessToken is the access token used to authenticate the request.
Body
application/json
Response
200 - application/json
Success Response (200 OK)
The unique identifier of the merchant account
Example:
12345678
The unique identifier of the batch number
Example:
123456
The currency code of the batch
Example:
"MWK"
The status code of the batch
Example:
"F"
The content type of the batch
Example:
"CSV"
The data source of the batch
Example:
"File"
The number of successful entries in the batch
Example:
1200
The total amount of successful entries in the batch
Example:
52000500