Call Quote
curl --request POST \
--url https://{your-domain}.fincode.software/api/v6/services/quote/callQuote \
--header 'Content-Type: application/json' \
--header 'X-Auth-Token: <x-auth-token>' \
--header 'platform: <platform>' \
--header 'uuid: <uuid>' \
--data '
{
"principalAmount": "<string>",
"principalAmountCurrency": "GBP",
"deriveAmount": "<string>",
"deriveAmountCurrency": "NGN",
"inverseCalculation": false,
"paymentType": "ONLINE_CARD_PAYMENT",
"chargeCategory": "MONEYTRANSFER",
"transactionType": "ACCOUNTPAYMENT",
"destinationCountry": "NGA",
"tradeOriginatingCountry": "GBR",
"conversion": true,
"promoCode": "<string>",
"mobileOperator": "<string>"
}
'import requests
url = "https://{your-domain}.fincode.software/api/v6/services/quote/callQuote"
payload = {
"principalAmount": "<string>",
"principalAmountCurrency": "GBP",
"deriveAmount": "<string>",
"deriveAmountCurrency": "NGN",
"inverseCalculation": False,
"paymentType": "ONLINE_CARD_PAYMENT",
"chargeCategory": "MONEYTRANSFER",
"transactionType": "ACCOUNTPAYMENT",
"destinationCountry": "NGA",
"tradeOriginatingCountry": "GBR",
"conversion": True,
"promoCode": "<string>",
"mobileOperator": "<string>"
}
headers = {
"platform": "<platform>",
"uuid": "<uuid>",
"X-Auth-Token": "<x-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
platform: '<platform>',
uuid: '<uuid>',
'X-Auth-Token': '<x-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
principalAmount: '<string>',
principalAmountCurrency: 'GBP',
deriveAmount: '<string>',
deriveAmountCurrency: 'NGN',
inverseCalculation: false,
paymentType: 'ONLINE_CARD_PAYMENT',
chargeCategory: 'MONEYTRANSFER',
transactionType: 'ACCOUNTPAYMENT',
destinationCountry: 'NGA',
tradeOriginatingCountry: 'GBR',
conversion: true,
promoCode: '<string>',
mobileOperator: '<string>'
})
};
fetch('https://{your-domain}.fincode.software/api/v6/services/quote/callQuote', 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://{your-domain}.fincode.software/api/v6/services/quote/callQuote",
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([
'principalAmount' => '<string>',
'principalAmountCurrency' => 'GBP',
'deriveAmount' => '<string>',
'deriveAmountCurrency' => 'NGN',
'inverseCalculation' => false,
'paymentType' => 'ONLINE_CARD_PAYMENT',
'chargeCategory' => 'MONEYTRANSFER',
'transactionType' => 'ACCOUNTPAYMENT',
'destinationCountry' => 'NGA',
'tradeOriginatingCountry' => 'GBR',
'conversion' => true,
'promoCode' => '<string>',
'mobileOperator' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Auth-Token: <x-auth-token>",
"platform: <platform>",
"uuid: <uuid>"
],
]);
$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://{your-domain}.fincode.software/api/v6/services/quote/callQuote"
payload := strings.NewReader("{\n \"principalAmount\": \"<string>\",\n \"principalAmountCurrency\": \"GBP\",\n \"deriveAmount\": \"<string>\",\n \"deriveAmountCurrency\": \"NGN\",\n \"inverseCalculation\": false,\n \"paymentType\": \"ONLINE_CARD_PAYMENT\",\n \"chargeCategory\": \"MONEYTRANSFER\",\n \"transactionType\": \"ACCOUNTPAYMENT\",\n \"destinationCountry\": \"NGA\",\n \"tradeOriginatingCountry\": \"GBR\",\n \"conversion\": true,\n \"promoCode\": \"<string>\",\n \"mobileOperator\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("platform", "<platform>")
req.Header.Add("uuid", "<uuid>")
req.Header.Add("X-Auth-Token", "<x-auth-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://{your-domain}.fincode.software/api/v6/services/quote/callQuote")
.header("platform", "<platform>")
.header("uuid", "<uuid>")
.header("X-Auth-Token", "<x-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"principalAmount\": \"<string>\",\n \"principalAmountCurrency\": \"GBP\",\n \"deriveAmount\": \"<string>\",\n \"deriveAmountCurrency\": \"NGN\",\n \"inverseCalculation\": false,\n \"paymentType\": \"ONLINE_CARD_PAYMENT\",\n \"chargeCategory\": \"MONEYTRANSFER\",\n \"transactionType\": \"ACCOUNTPAYMENT\",\n \"destinationCountry\": \"NGA\",\n \"tradeOriginatingCountry\": \"GBR\",\n \"conversion\": true,\n \"promoCode\": \"<string>\",\n \"mobileOperator\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{your-domain}.fincode.software/api/v6/services/quote/callQuote")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["platform"] = '<platform>'
request["uuid"] = '<uuid>'
request["X-Auth-Token"] = '<x-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"principalAmount\": \"<string>\",\n \"principalAmountCurrency\": \"GBP\",\n \"deriveAmount\": \"<string>\",\n \"deriveAmountCurrency\": \"NGN\",\n \"inverseCalculation\": false,\n \"paymentType\": \"ONLINE_CARD_PAYMENT\",\n \"chargeCategory\": \"MONEYTRANSFER\",\n \"transactionType\": \"ACCOUNTPAYMENT\",\n \"destinationCountry\": \"NGA\",\n \"tradeOriginatingCountry\": \"GBR\",\n \"conversion\": true,\n \"promoCode\": \"<string>\",\n \"mobileOperator\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyAPI Endpoints
Get Transaction Quote
Calculates the real-time exchange rate, fees, and total cost for an intended transaction.
POST
/
quote
/
callQuote
Call Quote
curl --request POST \
--url https://{your-domain}.fincode.software/api/v6/services/quote/callQuote \
--header 'Content-Type: application/json' \
--header 'X-Auth-Token: <x-auth-token>' \
--header 'platform: <platform>' \
--header 'uuid: <uuid>' \
--data '
{
"principalAmount": "<string>",
"principalAmountCurrency": "GBP",
"deriveAmount": "<string>",
"deriveAmountCurrency": "NGN",
"inverseCalculation": false,
"paymentType": "ONLINE_CARD_PAYMENT",
"chargeCategory": "MONEYTRANSFER",
"transactionType": "ACCOUNTPAYMENT",
"destinationCountry": "NGA",
"tradeOriginatingCountry": "GBR",
"conversion": true,
"promoCode": "<string>",
"mobileOperator": "<string>"
}
'import requests
url = "https://{your-domain}.fincode.software/api/v6/services/quote/callQuote"
payload = {
"principalAmount": "<string>",
"principalAmountCurrency": "GBP",
"deriveAmount": "<string>",
"deriveAmountCurrency": "NGN",
"inverseCalculation": False,
"paymentType": "ONLINE_CARD_PAYMENT",
"chargeCategory": "MONEYTRANSFER",
"transactionType": "ACCOUNTPAYMENT",
"destinationCountry": "NGA",
"tradeOriginatingCountry": "GBR",
"conversion": True,
"promoCode": "<string>",
"mobileOperator": "<string>"
}
headers = {
"platform": "<platform>",
"uuid": "<uuid>",
"X-Auth-Token": "<x-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
platform: '<platform>',
uuid: '<uuid>',
'X-Auth-Token': '<x-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
principalAmount: '<string>',
principalAmountCurrency: 'GBP',
deriveAmount: '<string>',
deriveAmountCurrency: 'NGN',
inverseCalculation: false,
paymentType: 'ONLINE_CARD_PAYMENT',
chargeCategory: 'MONEYTRANSFER',
transactionType: 'ACCOUNTPAYMENT',
destinationCountry: 'NGA',
tradeOriginatingCountry: 'GBR',
conversion: true,
promoCode: '<string>',
mobileOperator: '<string>'
})
};
fetch('https://{your-domain}.fincode.software/api/v6/services/quote/callQuote', 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://{your-domain}.fincode.software/api/v6/services/quote/callQuote",
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([
'principalAmount' => '<string>',
'principalAmountCurrency' => 'GBP',
'deriveAmount' => '<string>',
'deriveAmountCurrency' => 'NGN',
'inverseCalculation' => false,
'paymentType' => 'ONLINE_CARD_PAYMENT',
'chargeCategory' => 'MONEYTRANSFER',
'transactionType' => 'ACCOUNTPAYMENT',
'destinationCountry' => 'NGA',
'tradeOriginatingCountry' => 'GBR',
'conversion' => true,
'promoCode' => '<string>',
'mobileOperator' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Auth-Token: <x-auth-token>",
"platform: <platform>",
"uuid: <uuid>"
],
]);
$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://{your-domain}.fincode.software/api/v6/services/quote/callQuote"
payload := strings.NewReader("{\n \"principalAmount\": \"<string>\",\n \"principalAmountCurrency\": \"GBP\",\n \"deriveAmount\": \"<string>\",\n \"deriveAmountCurrency\": \"NGN\",\n \"inverseCalculation\": false,\n \"paymentType\": \"ONLINE_CARD_PAYMENT\",\n \"chargeCategory\": \"MONEYTRANSFER\",\n \"transactionType\": \"ACCOUNTPAYMENT\",\n \"destinationCountry\": \"NGA\",\n \"tradeOriginatingCountry\": \"GBR\",\n \"conversion\": true,\n \"promoCode\": \"<string>\",\n \"mobileOperator\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("platform", "<platform>")
req.Header.Add("uuid", "<uuid>")
req.Header.Add("X-Auth-Token", "<x-auth-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://{your-domain}.fincode.software/api/v6/services/quote/callQuote")
.header("platform", "<platform>")
.header("uuid", "<uuid>")
.header("X-Auth-Token", "<x-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"principalAmount\": \"<string>\",\n \"principalAmountCurrency\": \"GBP\",\n \"deriveAmount\": \"<string>\",\n \"deriveAmountCurrency\": \"NGN\",\n \"inverseCalculation\": false,\n \"paymentType\": \"ONLINE_CARD_PAYMENT\",\n \"chargeCategory\": \"MONEYTRANSFER\",\n \"transactionType\": \"ACCOUNTPAYMENT\",\n \"destinationCountry\": \"NGA\",\n \"tradeOriginatingCountry\": \"GBR\",\n \"conversion\": true,\n \"promoCode\": \"<string>\",\n \"mobileOperator\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{your-domain}.fincode.software/api/v6/services/quote/callQuote")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["platform"] = '<platform>'
request["uuid"] = '<uuid>'
request["X-Auth-Token"] = '<x-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"principalAmount\": \"<string>\",\n \"principalAmountCurrency\": \"GBP\",\n \"deriveAmount\": \"<string>\",\n \"deriveAmountCurrency\": \"NGN\",\n \"inverseCalculation\": false,\n \"paymentType\": \"ONLINE_CARD_PAYMENT\",\n \"chargeCategory\": \"MONEYTRANSFER\",\n \"transactionType\": \"ACCOUNTPAYMENT\",\n \"destinationCountry\": \"NGA\",\n \"tradeOriginatingCountry\": \"GBR\",\n \"conversion\": true,\n \"promoCode\": \"<string>\",\n \"mobileOperator\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyReturns the live fee breakdown, exchange rate, and total send/receive amounts for a given corridor and transaction type. Call this before creating a transaction to show the customer the exact cost.
The
X-Auth-Token is optional — you can call this endpoint without a token to show rates on a public pricing page.
Request Headers
string
JWT Access Token. Optional for public rate lookups; include for customer-specific quotes.
string
default:"fincode"
required
Platform identifier. Use
fincode.string
default:"200"
required
Unique request identifier.
Request Body
string
required
The delivery method / transaction type. Common values:
ACCOUNTPAYMENT, MOBILE_MONEY, CASH_PICKUP, WALLET.string
required
ISO 3166-1 alpha-3 destination country code (e.g.
NGA).number
The amount the sender wants to send (in
principalAmountCurrency). Provide either principalAmount or deriveAmount, not both.string
ISO 4217 currency code for
principalAmount (e.g. GBP).number
The amount the recipient should receive (in
deriveAmountCurrency). Use this for inverse calculation — the platform works out what the sender needs to pay.string
ISO 4217 currency code for
deriveAmount (e.g. NGN).boolean
Set
true when providing deriveAmount (recipient amount). The platform calculates the sender’s cost. Default: false.string
ISO 3166-1 alpha-3 origin country code (e.g.
GBR). Required for some pay centre configurations.string
Promotional code to apply a discount to fees.
string
Mobile operator code — required when
transactionType is MOBILE_MONEY.Code Example
cURL
curl -X POST 'https://{your-domain}.fincode.software/api/v6/services/quote/callQuote' \
--header 'Content-Type: application/json' \
--header 'platform: fincode' \
--header 'uuid: 200' \
--data '{
"transactionType": "ACCOUNTPAYMENT",
"destinationCountry": "NGA",
"principalAmount": 100,
"principalAmountCurrency": "GBP",
"tradeOriginatingCountry": "GBR"
}'
Headers
Body
application/json
Response
200
Quote calculated successfully
