curl --request GET \
--url https://api-pacb-uat.eximpe.com/partners/merchants/swift/ \
--header 'X-API-Version: <api-key>' \
--header 'X-Client-ID: <api-key>' \
--header 'X-Client-Secret: <api-key>'import requests
url = "https://api-pacb-uat.eximpe.com/partners/merchants/swift/"
headers = {
"X-Client-ID": "<api-key>",
"X-Client-Secret": "<api-key>",
"X-API-Version": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-Client-ID': '<api-key>',
'X-Client-Secret': '<api-key>',
'X-API-Version': '<api-key>'
}
};
fetch('https://api-pacb-uat.eximpe.com/partners/merchants/swift/', 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-pacb-uat.eximpe.com/partners/merchants/swift/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Version: <api-key>",
"X-Client-ID: <api-key>",
"X-Client-Secret: <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"
"net/http"
"io"
)
func main() {
url := "https://api-pacb-uat.eximpe.com/partners/merchants/swift/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Client-ID", "<api-key>")
req.Header.Add("X-Client-Secret", "<api-key>")
req.Header.Add("X-API-Version", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-pacb-uat.eximpe.com/partners/merchants/swift/")
.header("X-Client-ID", "<api-key>")
.header("X-Client-Secret", "<api-key>")
.header("X-API-Version", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-pacb-uat.eximpe.com/partners/merchants/swift/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Client-ID"] = '<api-key>'
request["X-Client-Secret"] = '<api-key>'
request["X-API-Version"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Bank details retrieved successfully",
"data": {
"bank_name": "DBS Bank Ltd",
"bank_branch_name": "Head Office",
"bank_address": "12 Marina Boulevard, Marina Bay",
"bank_city": "Singapore",
"bank_pincode": "018982",
"bank_country": "Singapore",
"bank_swift_code": "DBSSSGSG"
}
}{
"success": false,
"error": {
"code": "ERR_MERCHANT_019",
"message": "Bank details could not be found for bank_swift_code",
"details": "Bank details could not be found for bank_swift_code"
}
}{
"success": false,
"error": {
"code": "ERR_AUTH_000",
"message": "Missing credentials",
"details": {
"authentication": "Missing credentials."
}
}
}{
"success": false,
"error": {
"code": "ERR_MERCHANT_017",
"message": "Sub-Merchant endpoints are only available to IMPORT PSP accounts",
"details": {}
}
}Look Up SWIFT Code
Get the bank details for a SWIFT/BIC code, ready to use in a sub-merchant settlement account.
curl --request GET \
--url https://api-pacb-uat.eximpe.com/partners/merchants/swift/ \
--header 'X-API-Version: <api-key>' \
--header 'X-Client-ID: <api-key>' \
--header 'X-Client-Secret: <api-key>'import requests
url = "https://api-pacb-uat.eximpe.com/partners/merchants/swift/"
headers = {
"X-Client-ID": "<api-key>",
"X-Client-Secret": "<api-key>",
"X-API-Version": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-Client-ID': '<api-key>',
'X-Client-Secret': '<api-key>',
'X-API-Version': '<api-key>'
}
};
fetch('https://api-pacb-uat.eximpe.com/partners/merchants/swift/', 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-pacb-uat.eximpe.com/partners/merchants/swift/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Version: <api-key>",
"X-Client-ID: <api-key>",
"X-Client-Secret: <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"
"net/http"
"io"
)
func main() {
url := "https://api-pacb-uat.eximpe.com/partners/merchants/swift/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Client-ID", "<api-key>")
req.Header.Add("X-Client-Secret", "<api-key>")
req.Header.Add("X-API-Version", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-pacb-uat.eximpe.com/partners/merchants/swift/")
.header("X-Client-ID", "<api-key>")
.header("X-Client-Secret", "<api-key>")
.header("X-API-Version", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-pacb-uat.eximpe.com/partners/merchants/swift/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Client-ID"] = '<api-key>'
request["X-Client-Secret"] = '<api-key>'
request["X-API-Version"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Bank details retrieved successfully",
"data": {
"bank_name": "DBS Bank Ltd",
"bank_branch_name": "Head Office",
"bank_address": "12 Marina Boulevard, Marina Bay",
"bank_city": "Singapore",
"bank_pincode": "018982",
"bank_country": "Singapore",
"bank_swift_code": "DBSSSGSG"
}
}{
"success": false,
"error": {
"code": "ERR_MERCHANT_019",
"message": "Bank details could not be found for bank_swift_code",
"details": "Bank details could not be found for bank_swift_code"
}
}{
"success": false,
"error": {
"code": "ERR_AUTH_000",
"message": "Missing credentials",
"details": {
"authentication": "Missing credentials."
}
}
}{
"success": false,
"error": {
"code": "ERR_MERCHANT_017",
"message": "Sub-Merchant endpoints are only available to IMPORT PSP accounts",
"details": {}
}
}Overview
Returns the bank details EximPe holds for a SWIFT/BIC code, in the same field names assettlement_details on Create Merchant. Use it to show the bank to your user before you submit, or to check a code.
bank_swift_code in the same way.Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| code | string | Yes | SWIFT/BIC code. 8 or 11 characters, upper case: 6 letters, then 2 letters or digits, then an optional 3-character branch code of letters or digits, e.g. DBSSSGSG. |
Response
| Name | Type | Description |
|---|---|---|
| bank_name | string | null | Name of the bank. |
| bank_branch_name | string | null | Branch name. |
| bank_address | string | null | Branch address. |
| bank_city | string | null | Branch city. |
| bank_pincode | string | null | Branch postal code. |
| bank_country | string | null | Branch country, in the spelling listed by Get Merchant Options. null when the bank’s country is not one of the supported countries. |
| bank_swift_code | string | The code you looked up. |
null when EximPe holds no value for it. bank_state is not returned; you always send it yourself.
The values are returned as EximPe holds them and are not checked against the rules on Create Merchant. When you use them in a sub-merchant:
- Send any field that is
nullhere yourself. If you leave it out, Create Merchant and Update Merchant refuse the request with a400that lists the field indetails.settlement_details, alongside any other problems in the request. When it is the only problem, the code isERR_MERCHANT_019, orERR_MERCHANT_006when the field isbank_country. - Check each value against its rule, e.g.
bank_addressmust be 20–150 characters. A value that fails is refused with a400that lists the field indetails.settlement_details. Send your own value for it instead.
{
"success": true,
"message": "Bank details retrieved successfully",
"data": {
"bank_name": "DBS Bank Ltd",
"bank_branch_name": "Head Office",
"bank_address": "12 Marina Boulevard, Marina Bay",
"bank_city": "Singapore",
"bank_pincode": "018982",
"bank_country": "Singapore",
"bank_swift_code": "DBSSSGSG"
}
}
{
"success": false,
"error": {
"code": "ERR_MERCHANT_019",
"message": "Bank details could not be found for bank_swift_code",
"details": "Bank details could not be found for bank_swift_code"
}
}
Errors
| Status | error.code | When | details |
|---|---|---|---|
400 | ERR_MERCHANT_019 | code is missing or malformed, or no bank details were found for it | A string, not an object: "Bank details could not be found for bank_swift_code". Check the code. If it is correct, send every bank field yourself on Create Merchant |
401 | ERR_AUTH_000, ERR_AUTH_001 | X-Client-ID or X-Client-Secret is missing or wrong | {"authentication": "Missing credentials."} or {"authentication": "Invalid credentials."} |
403 | ERR_AUTH_003 | Your account is not a PSP | {}. Only PSPs can manage sub-merchants |
403 | ERR_MERCHANT_017 | Your account is a PSP, but not set up for import collections | {}. Contact EximPe |
Authorizations
Client Application ID - Your unique application identifier used to authenticate API requests. You can find your Client ID in the Developer Settings section of the merchant dashboard.
Client Secret Key - Your secret key used alongside the Client ID for secure authentication. Keep this confidential and never expose it in client-side code. Available in the Developer Settings section of the merchant dashboard.
API Version - Specifies which version of the API to use (e.g., '1.X.X', '2.X.X', or '3.X.X'). This header allows you to control which API version your integration uses. Default version information is available in the Developer Settings.
Query Parameters
SWIFT/BIC code. 8 or 11 characters, upper case: 6 letters, then 2 letters or digits, then an optional 3-character branch code of letters or digits, e.g. DBSSSGSG.
^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$