curl --request POST \
--url https://api-sandbox.uqpaytech.com/api/v2/payment/bankaccount/{id} \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <api-key>' \
--header 'x-idempotency-key: <x-idempotency-key>' \
--data '
{
"account_number": "7016771281488015",
"bank_name": "DBS Bank",
"swift_code": "DBSSSGSG",
"bank_country_code": "SG",
"bank_address": "Sandbox contract test updated"
}
'import requests
url = "https://api-sandbox.uqpaytech.com/api/v2/payment/bankaccount/{id}"
payload = {
"account_number": "7016771281488015",
"bank_name": "DBS Bank",
"swift_code": "DBSSSGSG",
"bank_country_code": "SG",
"bank_address": "Sandbox contract test updated"
}
headers = {
"x-idempotency-key": "<x-idempotency-key>",
"x-auth-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-idempotency-key': '<x-idempotency-key>',
'x-auth-token': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
account_number: '7016771281488015',
bank_name: 'DBS Bank',
swift_code: 'DBSSSGSG',
bank_country_code: 'SG',
bank_address: 'Sandbox contract test updated'
})
};
fetch('https://api-sandbox.uqpaytech.com/api/v2/payment/bankaccount/{id}', 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-sandbox.uqpaytech.com/api/v2/payment/bankaccount/{id}",
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([
'account_number' => '7016771281488015',
'bank_name' => 'DBS Bank',
'swift_code' => 'DBSSSGSG',
'bank_country_code' => 'SG',
'bank_address' => 'Sandbox contract test updated'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-auth-token: <api-key>",
"x-idempotency-key: <x-idempotency-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-sandbox.uqpaytech.com/api/v2/payment/bankaccount/{id}"
payload := strings.NewReader("{\n \"account_number\": \"7016771281488015\",\n \"bank_name\": \"DBS Bank\",\n \"swift_code\": \"DBSSSGSG\",\n \"bank_country_code\": \"SG\",\n \"bank_address\": \"Sandbox contract test updated\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-idempotency-key", "<x-idempotency-key>")
req.Header.Add("x-auth-token", "<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-sandbox.uqpaytech.com/api/v2/payment/bankaccount/{id}")
.header("x-idempotency-key", "<x-idempotency-key>")
.header("x-auth-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_number\": \"7016771281488015\",\n \"bank_name\": \"DBS Bank\",\n \"swift_code\": \"DBSSSGSG\",\n \"bank_country_code\": \"SG\",\n \"bank_address\": \"Sandbox contract test updated\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.uqpaytech.com/api/v2/payment/bankaccount/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-idempotency-key"] = '<x-idempotency-key>'
request["x-auth-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_number\": \"7016771281488015\",\n \"bank_name\": \"DBS Bank\",\n \"swift_code\": \"DBSSSGSG\",\n \"bank_country_code\": \"SG\",\n \"bank_address\": \"Sandbox contract test updated\"\n}"
response = http.request(request)
puts response.read_body{
"id": "e9b02497-17e1-4374-80ce-c87ee30ff1bf",
"account_name": "UQPAY PTE LTD",
"currency": "HKD",
"account_number": "7016771281488015",
"bank_name": "DBS Bank",
"swift_code": "DBSSSGSG",
"bank_country_code": "SG",
"bank_address": "Sandbox contract test updated",
"account_status": "Valid",
"bank_branch_code": "",
"bank_code_value": "",
"bank_code_type": ""
}Update Bank Account
Update the bank details saved for receiving settlement payouts. Identify the bank account using id and review the returned details to confirm the saved values.
curl --request POST \
--url https://api-sandbox.uqpaytech.com/api/v2/payment/bankaccount/{id} \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <api-key>' \
--header 'x-idempotency-key: <x-idempotency-key>' \
--data '
{
"account_number": "7016771281488015",
"bank_name": "DBS Bank",
"swift_code": "DBSSSGSG",
"bank_country_code": "SG",
"bank_address": "Sandbox contract test updated"
}
'import requests
url = "https://api-sandbox.uqpaytech.com/api/v2/payment/bankaccount/{id}"
payload = {
"account_number": "7016771281488015",
"bank_name": "DBS Bank",
"swift_code": "DBSSSGSG",
"bank_country_code": "SG",
"bank_address": "Sandbox contract test updated"
}
headers = {
"x-idempotency-key": "<x-idempotency-key>",
"x-auth-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-idempotency-key': '<x-idempotency-key>',
'x-auth-token': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
account_number: '7016771281488015',
bank_name: 'DBS Bank',
swift_code: 'DBSSSGSG',
bank_country_code: 'SG',
bank_address: 'Sandbox contract test updated'
})
};
fetch('https://api-sandbox.uqpaytech.com/api/v2/payment/bankaccount/{id}', 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-sandbox.uqpaytech.com/api/v2/payment/bankaccount/{id}",
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([
'account_number' => '7016771281488015',
'bank_name' => 'DBS Bank',
'swift_code' => 'DBSSSGSG',
'bank_country_code' => 'SG',
'bank_address' => 'Sandbox contract test updated'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-auth-token: <api-key>",
"x-idempotency-key: <x-idempotency-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-sandbox.uqpaytech.com/api/v2/payment/bankaccount/{id}"
payload := strings.NewReader("{\n \"account_number\": \"7016771281488015\",\n \"bank_name\": \"DBS Bank\",\n \"swift_code\": \"DBSSSGSG\",\n \"bank_country_code\": \"SG\",\n \"bank_address\": \"Sandbox contract test updated\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-idempotency-key", "<x-idempotency-key>")
req.Header.Add("x-auth-token", "<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-sandbox.uqpaytech.com/api/v2/payment/bankaccount/{id}")
.header("x-idempotency-key", "<x-idempotency-key>")
.header("x-auth-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_number\": \"7016771281488015\",\n \"bank_name\": \"DBS Bank\",\n \"swift_code\": \"DBSSSGSG\",\n \"bank_country_code\": \"SG\",\n \"bank_address\": \"Sandbox contract test updated\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.uqpaytech.com/api/v2/payment/bankaccount/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-idempotency-key"] = '<x-idempotency-key>'
request["x-auth-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_number\": \"7016771281488015\",\n \"bank_name\": \"DBS Bank\",\n \"swift_code\": \"DBSSSGSG\",\n \"bank_country_code\": \"SG\",\n \"bank_address\": \"Sandbox contract test updated\"\n}"
response = http.request(request)
puts response.read_body{
"id": "e9b02497-17e1-4374-80ce-c87ee30ff1bf",
"account_name": "UQPAY PTE LTD",
"currency": "HKD",
"account_number": "7016771281488015",
"bank_name": "DBS Bank",
"swift_code": "DBSSSGSG",
"bank_country_code": "SG",
"bank_address": "Sandbox contract test updated",
"account_status": "Valid",
"bank_branch_code": "",
"bank_code_value": "",
"bank_code_type": ""
}Authorizations
The API token for login provided by UQPAY.
Headers
Specifies the sub-account on whose behalf the request is made. This should be set to the account_id, which can be retrieved via the List Connected Accounts. If omitted or empty, the request is executed using the master account.
More information at Connected Accounts.
A unique identifier (UUID) used to maintain operation idempotency, ensuring that repeated executions of the same operation do not result in unintended effects or duplication. It helps preserve data consistency in the face of network errors, retries, or failures.
Path Parameters
Unique identifier (UUID) of the bank account.
"a7b92a19-bfc3-4c8b-8a4f-cfcf74cab345"
Body
Common bank account properties shared between request and response.
Bank account number (e.g., IBAN).
5 - 60"GB71950018692652646598"
Name of the bank.
"DBS Bank"
SWIFT/BIC code of the bank.
8 - 11"DBSSSGSG"
Two-letter country code (ISO 3166-1 alpha-2) of the bank.
2"SG"
Physical address of the bank.
"12 Marina Boulevard, Singapore 018982"
The bank identifier value. The required format depends on the selected
bank_code_type.
Accepted formats by bank_code_type:
aba: Exactly 9 digits.bank_code: Exactly 3 digits.sort_code: Exactly 6 digits.bsb_code: Exactly 6 digits.ifsc: Exactly 11 characters in the format:- First 4 characters: letters (A–Z)
- 5th character: the digit 0
- Last 6 characters: letters (A–Z) or digits (0–9)
cnaps_number: Exactly 12 digits.
"021000021"
Bank branch code. Required when currency = "CAD".
"00001"
Type of bank routing code. Required based on currency and country:
aba- Required when currency = "USD" and bank_country_code = "US"bank_code- Required when currency = "CAD" or currency = "HKD"sort_code- Required when currency = "GBP"bsb_code- Required when currency = "AUD"ifsc- Required when currency = "INR"cnaps_number- Required when currency = "CNH" and bank_country_code = "CN"
aba, bank_code, sort_code, bsb_code, ifsc, cnaps_number "aba"
Response
Bank account updated successfully
Common bank account properties shared between request and response.
Bank account number (e.g., IBAN).
5 - 60"GB71950018692652646598"
Name of the bank.
"DBS Bank"
SWIFT/BIC code of the bank.
8 - 11"DBSSSGSG"
Two-letter country code (ISO 3166-1 alpha-2) of the bank.
2"SG"
Physical address of the bank.
"12 Marina Boulevard, Singapore 018982"
The bank identifier value. The required format depends on the selected
bank_code_type.
Accepted formats by bank_code_type:
aba: Exactly 9 digits.bank_code: Exactly 3 digits.sort_code: Exactly 6 digits.bsb_code: Exactly 6 digits.ifsc: Exactly 11 characters in the format:- First 4 characters: letters (A–Z)
- 5th character: the digit 0
- Last 6 characters: letters (A–Z) or digits (0–9)
cnaps_number: Exactly 12 digits.
"021000021"
Bank branch code. Required when currency = "CAD".
"00001"
Bank routing code type. An empty string means no routing code type was provided.
aba, bank_code, sort_code, bsb_code, ifsc, cnaps_number "aba"
Unique identifier (UUID) of the bank account.
"a7b92a19-bfc3-4c8b-8a4f-cfcf74cab345"
Name of the account holder.
"UQPAY PTE. LTD."
Currency of the settlement account.
"SGD"
Status of the bank account.
Valid: The bank account is active and can be used for settlements.Invalid: The bank account is inactive and cannot be used for settlements.
Valid, Invalid "Valid"

