curl --request POST \
--url https://api-sandbox.uqpaytech.com/api/v1/beneficiaries/check \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <api-key>' \
--data '
{
"entity_type": "COMPANY",
"account_number": "11020075767",
"payment_method": "SWIFT",
"currency": "SGD",
"bank_country_code": "SG",
"company_name": "UQPAY PTE. LTD."
}
'import requests
url = "https://api-sandbox.uqpaytech.com/api/v1/beneficiaries/check"
payload = {
"entity_type": "COMPANY",
"account_number": "11020075767",
"payment_method": "SWIFT",
"currency": "SGD",
"bank_country_code": "SG",
"company_name": "UQPAY PTE. LTD."
}
headers = {
"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-auth-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
entity_type: 'COMPANY',
account_number: '11020075767',
payment_method: 'SWIFT',
currency: 'SGD',
bank_country_code: 'SG',
company_name: 'UQPAY PTE. LTD.'
})
};
fetch('https://api-sandbox.uqpaytech.com/api/v1/beneficiaries/check', 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/v1/beneficiaries/check",
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([
'entity_type' => 'COMPANY',
'account_number' => '11020075767',
'payment_method' => 'SWIFT',
'currency' => 'SGD',
'bank_country_code' => 'SG',
'company_name' => 'UQPAY PTE. LTD.'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-auth-token: <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-sandbox.uqpaytech.com/api/v1/beneficiaries/check"
payload := strings.NewReader("{\n \"entity_type\": \"COMPANY\",\n \"account_number\": \"11020075767\",\n \"payment_method\": \"SWIFT\",\n \"currency\": \"SGD\",\n \"bank_country_code\": \"SG\",\n \"company_name\": \"UQPAY PTE. LTD.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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/v1/beneficiaries/check")
.header("x-auth-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"entity_type\": \"COMPANY\",\n \"account_number\": \"11020075767\",\n \"payment_method\": \"SWIFT\",\n \"currency\": \"SGD\",\n \"bank_country_code\": \"SG\",\n \"company_name\": \"UQPAY PTE. LTD.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.uqpaytech.com/api/v1/beneficiaries/check")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-auth-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"entity_type\": \"COMPANY\",\n \"account_number\": \"11020075767\",\n \"payment_method\": \"SWIFT\",\n \"currency\": \"SGD\",\n \"bank_country_code\": \"SG\",\n \"company_name\": \"UQPAY PTE. LTD.\"\n}"
response = http.request(request)
puts response.read_body{
"beneficiary_id": "caf351ff-be40-4caa-9288-133ba6d6d4b1",
"short_reference_id": "BF260910-E9MJ2KHL",
"entity_type": "COMPANY",
"payment_method": "SWIFT",
"email": "contract-452d7f6f-4ef2-4751-8af5-38760b977a22@example.com",
"nickname": "Updated 452d7f6f",
"company_name": "UQPAY PTE. LTD.",
"summary": "",
"id_number": "",
"first_name": "",
"last_name": "",
"bank_details": {
"bank_name": "GREEN LINK DIGITAL BANK",
"bank_address": "MAPLETREE BUSINESS CITY 20 PASIR PANJANG ROAD 07-25/28 SINGAPORE",
"bank_country_code": "SG",
"account_holder": "UQPAY PTE. LTD.",
"account_currency_code": "SGD",
"account_number": "11020075767",
"iban": "",
"swift_code": "GLDTSGSGXXX",
"clearing_system": "SWIFT",
"routing_code_type1": "",
"routing_code_value1": "",
"routing_code_type2": "",
"routing_code_value2": ""
},
"address": {
"nationality": "",
"country": "SG",
"city": "Singapore",
"street_address": "Sandbox Contract Test",
"postal_code": 18989,
"state": "Singapore"
},
"beneficiary_status": "ACTIVE",
"additional_info": {
"organization_code": "",
"proxy_id": "",
"msisdn": "",
"id_type": "",
"id_number": "",
"tax_id": ""
}
}Check Beneficiary
Check whether a recipient is already saved before creating a beneficiary. Supply the recipient details to find a matching beneficiary.
curl --request POST \
--url https://api-sandbox.uqpaytech.com/api/v1/beneficiaries/check \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <api-key>' \
--data '
{
"entity_type": "COMPANY",
"account_number": "11020075767",
"payment_method": "SWIFT",
"currency": "SGD",
"bank_country_code": "SG",
"company_name": "UQPAY PTE. LTD."
}
'import requests
url = "https://api-sandbox.uqpaytech.com/api/v1/beneficiaries/check"
payload = {
"entity_type": "COMPANY",
"account_number": "11020075767",
"payment_method": "SWIFT",
"currency": "SGD",
"bank_country_code": "SG",
"company_name": "UQPAY PTE. LTD."
}
headers = {
"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-auth-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
entity_type: 'COMPANY',
account_number: '11020075767',
payment_method: 'SWIFT',
currency: 'SGD',
bank_country_code: 'SG',
company_name: 'UQPAY PTE. LTD.'
})
};
fetch('https://api-sandbox.uqpaytech.com/api/v1/beneficiaries/check', 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/v1/beneficiaries/check",
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([
'entity_type' => 'COMPANY',
'account_number' => '11020075767',
'payment_method' => 'SWIFT',
'currency' => 'SGD',
'bank_country_code' => 'SG',
'company_name' => 'UQPAY PTE. LTD.'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-auth-token: <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-sandbox.uqpaytech.com/api/v1/beneficiaries/check"
payload := strings.NewReader("{\n \"entity_type\": \"COMPANY\",\n \"account_number\": \"11020075767\",\n \"payment_method\": \"SWIFT\",\n \"currency\": \"SGD\",\n \"bank_country_code\": \"SG\",\n \"company_name\": \"UQPAY PTE. LTD.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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/v1/beneficiaries/check")
.header("x-auth-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"entity_type\": \"COMPANY\",\n \"account_number\": \"11020075767\",\n \"payment_method\": \"SWIFT\",\n \"currency\": \"SGD\",\n \"bank_country_code\": \"SG\",\n \"company_name\": \"UQPAY PTE. LTD.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.uqpaytech.com/api/v1/beneficiaries/check")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-auth-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"entity_type\": \"COMPANY\",\n \"account_number\": \"11020075767\",\n \"payment_method\": \"SWIFT\",\n \"currency\": \"SGD\",\n \"bank_country_code\": \"SG\",\n \"company_name\": \"UQPAY PTE. LTD.\"\n}"
response = http.request(request)
puts response.read_body{
"beneficiary_id": "caf351ff-be40-4caa-9288-133ba6d6d4b1",
"short_reference_id": "BF260910-E9MJ2KHL",
"entity_type": "COMPANY",
"payment_method": "SWIFT",
"email": "contract-452d7f6f-4ef2-4751-8af5-38760b977a22@example.com",
"nickname": "Updated 452d7f6f",
"company_name": "UQPAY PTE. LTD.",
"summary": "",
"id_number": "",
"first_name": "",
"last_name": "",
"bank_details": {
"bank_name": "GREEN LINK DIGITAL BANK",
"bank_address": "MAPLETREE BUSINESS CITY 20 PASIR PANJANG ROAD 07-25/28 SINGAPORE",
"bank_country_code": "SG",
"account_holder": "UQPAY PTE. LTD.",
"account_currency_code": "SGD",
"account_number": "11020075767",
"iban": "",
"swift_code": "GLDTSGSGXXX",
"clearing_system": "SWIFT",
"routing_code_type1": "",
"routing_code_value1": "",
"routing_code_type2": "",
"routing_code_value2": ""
},
"address": {
"nationality": "",
"country": "SG",
"city": "Singapore",
"street_address": "Sandbox Contract Test",
"postal_code": 18989,
"state": "Singapore"
},
"beneficiary_status": "ACTIVE",
"additional_info": {
"organization_code": "",
"proxy_id": "",
"msisdn": "",
"id_type": "",
"id_number": "",
"tax_id": ""
}
}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.
Body
- Account number provided
- IBAN provided
For Mastercard Send, provide CARD, account_number, bank_country_code, currency, entity_type, and clearing_system. No card_expiry is required. A match identifies a saved beneficiary; it does not verify the card or its ability to receive funds.
Account number to check. Provide a non-empty account_number or iban; both may be provided, in which case account_number takes precedence. Only English letters and digits are allowed in the account number.
1 - 60^[a-zA-Z0-9]*$"12345678"
Specifies the type of beneficiary entity to filter by. Valid values are:
COMPANY: corporate entitiesINDIVIDUAL: personal accounts
COMPANY, INDIVIDUAL "COMPANY"
The payment method needs to be specified to ensure that accurate banking details are captured and validated for the specified payment method.
LOCAL: Payment processed through domestic payment networks with local clearing systems.SWIFT: International payment processed through the SWIFT network for cross-border transfers.CARD: Payment to card recipients through Mastercard Send. Availability depends on your account authorization and the country, currency, and recipient entity type returned by List Payment Methods.
LOCAL, SWIFT, CARD "LOCAL"
Bank country or region, using its ISO 3166-1 alpha-2 code. For LOCAL payments, provide this field together with clearing_system to select a supported combination for the bank country and currency. Both fields are required when the currency has no default clearing system: defaults are available only for USD, GBP, EUR, SGD, CAD, AUD, HKD, MYR, IDR, PHP, and INR.
2"SG"
First name of the beneficiary, only exist when the entity_type is INDIVIDUAL.
-
When
payment_method = SWIFT:- Only English letters, numbers, special characters (half-width format), and spaces can be included.
- Allowed special characters:
-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……
-
When
payment_method = LOCAL:- No strict validation rules apply, local language characters are supported.
-
No need to pass this field when
bank_details.bank_country_code = SG&bank_details.account_currency_code = SGD
45^[a-zA-Z0-9 -_().,@#~!$%^&*+={}\|:"'<>?/・……]*$"John"
Last name of the beneficiary, only exist when the entity_type is INDIVIDUAL.
-
When
payment_method = SWIFT:- Only English letters, numbers, special characters (half-width format), and spaces can be included.
- Allowed special characters:
-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……
-
When
payment_method = LOCAL:- No strict validation rules apply, local language characters are supported.
-
No need to pass this field when
bank_details.bank_country_code = SG&bank_details.account_currency_code = SGD
45^[a-zA-Z0-9 -_().,@#~!$%^&*+={}\|:"'<>?/・……]*$"Doe"
Company name of the beneficiary, only exist when the entity_type is COMPANY.
-
When
payment_method = SWIFT:- Only English letters, numbers, special characters (half-width format), and spaces can be included.
- Allowed special characters:
-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……
-
When
payment_method = LOCAL:- No strict validation rules apply, local language characters are supported.
-
No need to pass this field when
bank_details.bank_country_code = SG&bank_details.account_currency_code = SGD -
When
bank_country_code = CN&account_currency_code = CNH&payment_method = LOCAL&entity_type = COMPANY, Chinese characters and Chinese parentheses()are supported.
120^[a-zA-Z0-9 -_().,@#~!$%^&*+={}\|:"'<>?/・……]*$"UQPAY TECHNOLOGY SG PTE LTD"
For LOCAL payments, provide a clearing system supported for bank_country_code and currency. For currencies without a default clearing system, including CNH, both bank_country_code and clearing_system are required. For SWIFT payments, use SWIFT.
LOCAL, SWIFT, ACH, FAST, MEPS, GIRO, Fedwire, Faster Payments, RTGS, FPS, EFT, Interac e-Transfer, Bill Payment, CHAPS, Bank Transfer, PAYNOW, MASTERCARD SEND "SWIFT"
IBAN to check. Used when account_number is omitted or empty; at least one of the two must be non-empty.
36"GB82 WEST 1234 5698 7654 32"
Additional information for beneficiaries.
Show child attributes
Show child attributes
Response
Beneficiary check successfully.
- BeneficiaryCheckResponse
- BeneficiaryCheckResponse
- BeneficiaryCheckResponse
The payment method needs to be specified to ensure that accurate banking details are captured and validated for the specified payment method.
LOCAL: Payment processed through domestic payment networks with local clearing systems.SWIFT: International payment processed through the SWIFT network for cross-border transfers.CARD: Payment to card recipients through Mastercard Send. Availability depends on your account authorization and the country, currency, and recipient entity type returned by List Payment Methods.
LOCAL "LOCAL"
Show child attributes
Show child attributes
For LOCAL payments to a bank in SG with account currency SGD, city, state, and street_address may be empty strings when not provided. Non-empty values follow the corresponding field constraints. Other routes require a complete address.
- Bank beneficiary address
- Mastercard beneficiary address
Show child attributes
Show child attributes
Universally unique identifier (UUID v4) of the beneficiary.
"b3d9d2d5-4c12-4946-a09d-953e82sed2b0"
The reference generated by the system to identify the entity.
"P220406-LLCVLRM"
Specifies the type of beneficiary entity to filter by. Valid values are:
COMPANY: corporate entitiesINDIVIDUAL: personal accounts
COMPANY, INDIVIDUAL "COMPANY"
Email address of the beneficiary.
"example@uqpay.com"
Status of the beneficiary.
ACTIVE: The beneficiary has been fully verified and is eligible to receive payments.PENDING: The beneficiary is undergoing verification process and cannot yet receive payments.
ACTIVE, PENDING "ACTIVE"
Summary of the beneficiary.
"John Doe"
Nickname of the beneficiary.
120"John Doe"
Company name of the beneficiary, only exist when the entity_type is COMPANY.
-
When
payment_method = SWIFT:- Only English letters, numbers, special characters (half-width format), and spaces can be included.
- Allowed special characters:
-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……
-
When
payment_method = LOCAL:- No strict validation rules apply, local language characters are supported.
-
No need to pass this field when
bank_details.bank_country_code = SG&bank_details.account_currency_code = SGD -
When
bank_country_code = CN&account_currency_code = CNH&payment_method = LOCAL&entity_type = COMPANY, Chinese characters and Chinese parentheses()are supported.
120^[a-zA-Z0-9 -_().,@#~!$%^&*+={}\|:"'<>?/・……]*$"UQPAY TECHNOLOGY SG PTE LTD"
First name of the beneficiary, only exist when the entity_type is INDIVIDUAL.
-
When
payment_method = SWIFT:- Only English letters, numbers, special characters (half-width format), and spaces can be included.
- Allowed special characters:
-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……
-
When
payment_method = LOCAL:- No strict validation rules apply, local language characters are supported.
-
No need to pass this field when
bank_details.bank_country_code = SG&bank_details.account_currency_code = SGD
45^[a-zA-Z0-9 -_().,@#~!$%^&*+={}\|:"'<>?/・……]*$"John"
Last name of the beneficiary, only exist when the entity_type is INDIVIDUAL.
-
When
payment_method = SWIFT:- Only English letters, numbers, special characters (half-width format), and spaces can be included.
- Allowed special characters:
-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……
-
When
payment_method = LOCAL:- No strict validation rules apply, local language characters are supported.
-
No need to pass this field when
bank_details.bank_country_code = SG&bank_details.account_currency_code = SGD
45^[a-zA-Z0-9 -_().,@#~!$%^&*+={}\|:"'<>?/・……]*$"Doe"
The identification number of the individual beneficiary.
Mandatory when the beneficiary is a Mainland China resident and the following conditions are met:
bank_details.account_currency_codeisCNHpayment_methodisLOCAL
"110101199001011234"
Create time of the beneficiary.
"2024-03-01T00:00:00+08:00"
Update time of the beneficiary.
"2024-03-01T00:00:00+08:00"
Additional information for beneficiaries.
Show child attributes
Show child attributes

