Inter-Bank Transfer
curl --request POST \
--url https://api-production.fossapay.com/api/v1/transfers/fiat/inter-bank \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"customerId": "<string>",
"destinationBankCode": "<string>",
"destinationAccountName": "<string>",
"destinationAccountNumber": "<string>",
"destinationBankName": "<string>",
"reference": "<string>",
"remarks": "<string>",
"amount": 123
}
'import requests
url = "https://api-production.fossapay.com/api/v1/transfers/fiat/inter-bank"
payload = {
"customerId": "<string>",
"destinationBankCode": "<string>",
"destinationAccountName": "<string>",
"destinationAccountNumber": "<string>",
"destinationBankName": "<string>",
"reference": "<string>",
"remarks": "<string>",
"amount": 123
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customerId: '<string>',
destinationBankCode: '<string>',
destinationAccountName: '<string>',
destinationAccountNumber: '<string>',
destinationBankName: '<string>',
reference: '<string>',
remarks: '<string>',
amount: 123
})
};
fetch('https://api-production.fossapay.com/api/v1/transfers/fiat/inter-bank', 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-production.fossapay.com/api/v1/transfers/fiat/inter-bank",
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([
'customerId' => '<string>',
'destinationBankCode' => '<string>',
'destinationAccountName' => '<string>',
'destinationAccountNumber' => '<string>',
'destinationBankName' => '<string>',
'reference' => '<string>',
'remarks' => '<string>',
'amount' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$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-production.fossapay.com/api/v1/transfers/fiat/inter-bank"
payload := strings.NewReader("{\n \"customerId\": \"<string>\",\n \"destinationBankCode\": \"<string>\",\n \"destinationAccountName\": \"<string>\",\n \"destinationAccountNumber\": \"<string>\",\n \"destinationBankName\": \"<string>\",\n \"reference\": \"<string>\",\n \"remarks\": \"<string>\",\n \"amount\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
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-production.fossapay.com/api/v1/transfers/fiat/inter-bank")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"customerId\": \"<string>\",\n \"destinationBankCode\": \"<string>\",\n \"destinationAccountName\": \"<string>\",\n \"destinationAccountNumber\": \"<string>\",\n \"destinationBankName\": \"<string>\",\n \"reference\": \"<string>\",\n \"remarks\": \"<string>\",\n \"amount\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-production.fossapay.com/api/v1/transfers/fiat/inter-bank")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customerId\": \"<string>\",\n \"destinationBankCode\": \"<string>\",\n \"destinationAccountName\": \"<string>\",\n \"destinationAccountNumber\": \"<string>\",\n \"destinationBankName\": \"<string>\",\n \"reference\": \"<string>\",\n \"remarks\": \"<string>\",\n \"amount\": 123\n}"
response = http.request(request)
puts response.read_body{
"status": true,
"statusCode": 200,
"message": "Transfer request is being processed",
"data": {
"reference": "TRF-2024-001"
}
}
Fiat Transfers
Inter-Bank Transfer
Execute inter-bank transfer
POST
/
api
/
v1
/
transfers
/
fiat
/
inter-bank
Inter-Bank Transfer
curl --request POST \
--url https://api-production.fossapay.com/api/v1/transfers/fiat/inter-bank \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"customerId": "<string>",
"destinationBankCode": "<string>",
"destinationAccountName": "<string>",
"destinationAccountNumber": "<string>",
"destinationBankName": "<string>",
"reference": "<string>",
"remarks": "<string>",
"amount": 123
}
'import requests
url = "https://api-production.fossapay.com/api/v1/transfers/fiat/inter-bank"
payload = {
"customerId": "<string>",
"destinationBankCode": "<string>",
"destinationAccountName": "<string>",
"destinationAccountNumber": "<string>",
"destinationBankName": "<string>",
"reference": "<string>",
"remarks": "<string>",
"amount": 123
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customerId: '<string>',
destinationBankCode: '<string>',
destinationAccountName: '<string>',
destinationAccountNumber: '<string>',
destinationBankName: '<string>',
reference: '<string>',
remarks: '<string>',
amount: 123
})
};
fetch('https://api-production.fossapay.com/api/v1/transfers/fiat/inter-bank', 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-production.fossapay.com/api/v1/transfers/fiat/inter-bank",
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([
'customerId' => '<string>',
'destinationBankCode' => '<string>',
'destinationAccountName' => '<string>',
'destinationAccountNumber' => '<string>',
'destinationBankName' => '<string>',
'reference' => '<string>',
'remarks' => '<string>',
'amount' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$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-production.fossapay.com/api/v1/transfers/fiat/inter-bank"
payload := strings.NewReader("{\n \"customerId\": \"<string>\",\n \"destinationBankCode\": \"<string>\",\n \"destinationAccountName\": \"<string>\",\n \"destinationAccountNumber\": \"<string>\",\n \"destinationBankName\": \"<string>\",\n \"reference\": \"<string>\",\n \"remarks\": \"<string>\",\n \"amount\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
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-production.fossapay.com/api/v1/transfers/fiat/inter-bank")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"customerId\": \"<string>\",\n \"destinationBankCode\": \"<string>\",\n \"destinationAccountName\": \"<string>\",\n \"destinationAccountNumber\": \"<string>\",\n \"destinationBankName\": \"<string>\",\n \"reference\": \"<string>\",\n \"remarks\": \"<string>\",\n \"amount\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-production.fossapay.com/api/v1/transfers/fiat/inter-bank")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customerId\": \"<string>\",\n \"destinationBankCode\": \"<string>\",\n \"destinationAccountName\": \"<string>\",\n \"destinationAccountNumber\": \"<string>\",\n \"destinationBankName\": \"<string>\",\n \"reference\": \"<string>\",\n \"remarks\": \"<string>\",\n \"amount\": 123\n}"
response = http.request(request)
puts response.read_body{
"status": true,
"statusCode": 200,
"message": "Transfer request is being processed",
"data": {
"reference": "TRF-2024-001"
}
}
Request
API Key for authentication
UUID of the customer initiating the transfer
The bank code of the destination bank
The name of the destination account holder
The destination account number
The name of the destination bank
A unique reference for the transfer
Additional remarks or description for the transfer
The amount to transfer
Request Example
curl -X POST https://api-production.fossapay.com/api/v1/transfers/fiat/inter-bank \
-H "x-api-key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"customerId": "550e8400-e29b-41d4-a716-446655440000",
"destinationBankCode": "044",
"destinationAccountName": "JOHN DOE",
"destinationAccountNumber": "1234567890",
"destinationBankName": "ACCESS BANK",
"reference": "TRF-2024-001",
"remarks": "Salary payment",
"amount": 50000.00
}'
const response = await fetch('https://api-production.fossapay.com/api/v1/transfers/fiat/inter-bank', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
customerId: '550e8400-e29b-41d4-a716-446655440000',
destinationBankCode: '044',
destinationAccountName: 'JOHN DOE',
destinationAccountNumber: '1234567890',
destinationBankName: 'ACCESS BANK',
reference: 'TRF-2024-001',
remarks: 'Salary payment',
amount: 50000.00
})
});
const data = await response.json();
Response
{
"status": true,
"statusCode": 200,
"message": "Transfer request is being processed",
"data": {
"reference": "TRF-2024-001"
}
}
{
"status": false,
"statusCode": 400,
"message": "Bad request",
"error": "Invalid transfer details"
}
{
"status": false,
"statusCode": 404,
"message": "Customer or account not found",
"error": "Destination account not found"
}
{
"status": false,
"statusCode": 500,
"message": "Internal server error",
"error": "Transfer processing failed"
}
⌘I

