Initiate Customer Transfer Request
curl --request POST \
--url https://devapi.withedge.co/gateway/api/v1/transfer/customer/initiate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'requestId: <requestid>' \
--data '
{
"nameEnquirySessionId": "<string>",
"customerId": "<string>",
"sourceAccountName": "<string>",
"sourceAccountNumber": "<string>",
"beneficiaryAccountName": "<string>",
"beneficiaryAccountNumber": "<string>",
"beneficiaryBankCode": "<string>",
"amount": 123,
"narration": "<string>"
}
'import requests
url = "https://devapi.withedge.co/gateway/api/v1/transfer/customer/initiate"
payload = {
"nameEnquirySessionId": "<string>",
"customerId": "<string>",
"sourceAccountName": "<string>",
"sourceAccountNumber": "<string>",
"beneficiaryAccountName": "<string>",
"beneficiaryAccountNumber": "<string>",
"beneficiaryBankCode": "<string>",
"amount": 123,
"narration": "<string>"
}
headers = {
"requestId": "<requestid>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
requestId: '<requestid>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
nameEnquirySessionId: '<string>',
customerId: '<string>',
sourceAccountName: '<string>',
sourceAccountNumber: '<string>',
beneficiaryAccountName: '<string>',
beneficiaryAccountNumber: '<string>',
beneficiaryBankCode: '<string>',
amount: 123,
narration: '<string>'
})
};
fetch('https://devapi.withedge.co/gateway/api/v1/transfer/customer/initiate', 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://devapi.withedge.co/gateway/api/v1/transfer/customer/initiate",
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([
'nameEnquirySessionId' => '<string>',
'customerId' => '<string>',
'sourceAccountName' => '<string>',
'sourceAccountNumber' => '<string>',
'beneficiaryAccountName' => '<string>',
'beneficiaryAccountNumber' => '<string>',
'beneficiaryBankCode' => '<string>',
'amount' => 123,
'narration' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"requestId: <requestid>"
],
]);
$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://devapi.withedge.co/gateway/api/v1/transfer/customer/initiate"
payload := strings.NewReader("{\n \"nameEnquirySessionId\": \"<string>\",\n \"customerId\": \"<string>\",\n \"sourceAccountName\": \"<string>\",\n \"sourceAccountNumber\": \"<string>\",\n \"beneficiaryAccountName\": \"<string>\",\n \"beneficiaryAccountNumber\": \"<string>\",\n \"beneficiaryBankCode\": \"<string>\",\n \"amount\": 123,\n \"narration\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("requestId", "<requestid>")
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://devapi.withedge.co/gateway/api/v1/transfer/customer/initiate")
.header("requestId", "<requestid>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"nameEnquirySessionId\": \"<string>\",\n \"customerId\": \"<string>\",\n \"sourceAccountName\": \"<string>\",\n \"sourceAccountNumber\": \"<string>\",\n \"beneficiaryAccountName\": \"<string>\",\n \"beneficiaryAccountNumber\": \"<string>\",\n \"beneficiaryBankCode\": \"<string>\",\n \"amount\": 123,\n \"narration\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://devapi.withedge.co/gateway/api/v1/transfer/customer/initiate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["requestId"] = '<requestid>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"nameEnquirySessionId\": \"<string>\",\n \"customerId\": \"<string>\",\n \"sourceAccountName\": \"<string>\",\n \"sourceAccountNumber\": \"<string>\",\n \"beneficiaryAccountName\": \"<string>\",\n \"beneficiaryAccountNumber\": \"<string>\",\n \"beneficiaryBankCode\": \"<string>\",\n \"amount\": 123,\n \"narration\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 00,
"message": "Transfer initiated successfully."
"data": {
"amount": 1213211231,
"beneficiaryAccountName": "Peter Parker",
"beneficiaryAccountNumber": "1234567890",
"beneficiaryBankCode": "001001",
"narration": "Transfer to John Doe",
"transactionId": "txn_0011223344",
"otpReferneceId": "654578797858"
},
"errors": []
}
Transfers
Initiate Customer Transfer Request
This endpoint allows you to initiate a transfer request on behalf of your customer.
POST
/
transfer
/
customer
/
initiate
Initiate Customer Transfer Request
curl --request POST \
--url https://devapi.withedge.co/gateway/api/v1/transfer/customer/initiate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'requestId: <requestid>' \
--data '
{
"nameEnquirySessionId": "<string>",
"customerId": "<string>",
"sourceAccountName": "<string>",
"sourceAccountNumber": "<string>",
"beneficiaryAccountName": "<string>",
"beneficiaryAccountNumber": "<string>",
"beneficiaryBankCode": "<string>",
"amount": 123,
"narration": "<string>"
}
'import requests
url = "https://devapi.withedge.co/gateway/api/v1/transfer/customer/initiate"
payload = {
"nameEnquirySessionId": "<string>",
"customerId": "<string>",
"sourceAccountName": "<string>",
"sourceAccountNumber": "<string>",
"beneficiaryAccountName": "<string>",
"beneficiaryAccountNumber": "<string>",
"beneficiaryBankCode": "<string>",
"amount": 123,
"narration": "<string>"
}
headers = {
"requestId": "<requestid>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
requestId: '<requestid>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
nameEnquirySessionId: '<string>',
customerId: '<string>',
sourceAccountName: '<string>',
sourceAccountNumber: '<string>',
beneficiaryAccountName: '<string>',
beneficiaryAccountNumber: '<string>',
beneficiaryBankCode: '<string>',
amount: 123,
narration: '<string>'
})
};
fetch('https://devapi.withedge.co/gateway/api/v1/transfer/customer/initiate', 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://devapi.withedge.co/gateway/api/v1/transfer/customer/initiate",
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([
'nameEnquirySessionId' => '<string>',
'customerId' => '<string>',
'sourceAccountName' => '<string>',
'sourceAccountNumber' => '<string>',
'beneficiaryAccountName' => '<string>',
'beneficiaryAccountNumber' => '<string>',
'beneficiaryBankCode' => '<string>',
'amount' => 123,
'narration' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"requestId: <requestid>"
],
]);
$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://devapi.withedge.co/gateway/api/v1/transfer/customer/initiate"
payload := strings.NewReader("{\n \"nameEnquirySessionId\": \"<string>\",\n \"customerId\": \"<string>\",\n \"sourceAccountName\": \"<string>\",\n \"sourceAccountNumber\": \"<string>\",\n \"beneficiaryAccountName\": \"<string>\",\n \"beneficiaryAccountNumber\": \"<string>\",\n \"beneficiaryBankCode\": \"<string>\",\n \"amount\": 123,\n \"narration\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("requestId", "<requestid>")
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://devapi.withedge.co/gateway/api/v1/transfer/customer/initiate")
.header("requestId", "<requestid>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"nameEnquirySessionId\": \"<string>\",\n \"customerId\": \"<string>\",\n \"sourceAccountName\": \"<string>\",\n \"sourceAccountNumber\": \"<string>\",\n \"beneficiaryAccountName\": \"<string>\",\n \"beneficiaryAccountNumber\": \"<string>\",\n \"beneficiaryBankCode\": \"<string>\",\n \"amount\": 123,\n \"narration\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://devapi.withedge.co/gateway/api/v1/transfer/customer/initiate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["requestId"] = '<requestid>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"nameEnquirySessionId\": \"<string>\",\n \"customerId\": \"<string>\",\n \"sourceAccountName\": \"<string>\",\n \"sourceAccountNumber\": \"<string>\",\n \"beneficiaryAccountName\": \"<string>\",\n \"beneficiaryAccountNumber\": \"<string>\",\n \"beneficiaryBankCode\": \"<string>\",\n \"amount\": 123,\n \"narration\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 00,
"message": "Transfer initiated successfully."
"data": {
"amount": 1213211231,
"beneficiaryAccountName": "Peter Parker",
"beneficiaryAccountNumber": "1234567890",
"beneficiaryBankCode": "001001",
"narration": "Transfer to John Doe",
"transactionId": "txn_0011223344",
"otpReferneceId": "654578797858"
},
"errors": []
}
Initiate Customer Transfer Request
Use this endpoint to initiate a transfer request on behalf of a customer using their generated account numbers.
Additional Information
Note
You can initiate transfer requests only with account numbers generated specifically for your customer.
You can initiate transfer requests only with account numbers generated specifically for your customer.
Request Parameters
string
required
A unique identifier for the request, used for idempotency.
Example:
Example:
e0b9f8d0-7a57-4a67-a8b2-4d7c7b5a37c9string
required
The session ID from a name enquiry request, required to confirm the beneficiary’s details.
Example:
Example:
session_0011223344string
required
The unique identifier of the customer initiating the transfer.
Example:
Example:
cus_0011223344string
required
The name associated with the source account of the customer.
Example:
Example:
John Doestring
required
The account number of the customer from which the transfer is being initiated.
Example:
Example:
1234567890string
required
The name of the beneficiary receiving the transfer.
Example:
Example:
Peter Parkerstring
required
The account number of the beneficiary.
Example:
Example:
0987654321string
required
The bank code of the beneficiary’s bank.
Example:
Example:
001001double
required
The amount to be transferred.
Example:
Example:
5000.00string
A brief description of the transaction.
Example:
Example:
Payment for services{
"statusCode": 00,
"message": "Transfer initiated successfully."
"data": {
"amount": 1213211231,
"beneficiaryAccountName": "Peter Parker",
"beneficiaryAccountNumber": "1234567890",
"beneficiaryBankCode": "001001",
"narration": "Transfer to John Doe",
"transactionId": "txn_0011223344",
"otpReferneceId": "654578797858"
},
"errors": []
}
Was this page helpful?
⌘I