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
A unique identifier for the request, used for idempotency.
Example:
Example:
e0b9f8d0-7a57-4a67-a8b2-4d7c7b5a37c9The session ID from a name enquiry request, required to confirm the beneficiary’s details.
Example:
Example:
session_0011223344The unique identifier of the customer initiating the transfer.
Example:
Example:
cus_0011223344The name associated with the source account of the customer.
Example:
Example:
John DoeThe account number of the customer from which the transfer is being initiated.
Example:
Example:
1234567890The name of the beneficiary receiving the transfer.
Example:
Example:
Peter ParkerThe account number of the beneficiary.
Example:
Example:
0987654321The bank code of the beneficiary’s bank.
Example:
Example:
001001The amount to be transferred.
Example:
Example:
5000.00A 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