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
创建受益人前,检查该收款人是否已保存。提供收款人信息,查询是否存在匹配的受益人。
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": ""
}
}授权
由 UQPAY 提供的登录 API Token。
请求体
- Account number provided
- IBAN provided
Mastercard Send 查重须提供 CARD、account_number、bank_country_code、currency、entity_type 和 clearing_system,不需要 card_expiry。匹配仅表示已有受益人,不代表卡验证或收款资格验证。
要检查的账号。必须提供非空的 account_number 或 iban;也可同时提供,此时优先使用 account_number。账号仅允许英文字母和数字。
1 - 60^[a-zA-Z0-9]*$"12345678"
指定用于筛选的受益人实体类型。有效值为:
COMPANY:企业实体INDIVIDUAL:个人账户
COMPANY, INDIVIDUAL "COMPANY"
需要指定支付方式,以确保针对该支付方式采集并校验准确的银行信息。
LOCAL:通过本地清算系统的境内支付网络处理的付款。SWIFT:通过 SWIFT 网络处理的跨境国际付款。CARD:通过 Mastercard Send 向卡受益人付款。可用性取决于账户授权,以及支付方式查询返回的国家、币种和收款实体配置。
LOCAL, SWIFT, CARD "LOCAL"
银行所在国家或地区的 ISO 3166-1 alpha-2 代码。使用 LOCAL 支付方式时,请同时提供此字段与 clearing_system,指定银行所在国家及币种支持的组合。币种没有默认清算系统时,这两个字段均为必填;仅 USD、GBP、EUR、SGD、CAD、AUD、HKD、MYR、IDR、PHP、INR 有默认清算系统。
2"SG"
受益人的名字,仅当 entity_type 为 INDIVIDUAL 时存在。
-
当
payment_method = SWIFT时:- 仅可包含英文字母、数字、特殊字符(半角格式)和空格。
- 允许的特殊字符:
-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……
-
当
payment_method = LOCAL时:- 不应用严格的校验规则,支持本地语言字符。
-
当
bank_details.bank_country_code = SG且bank_details.account_currency_code = SGD时无需传入此字段
45^[a-zA-Z0-9 -_().,@#~!$%^&*+={}\|:"'<>?/・……]*$"John"
受益人的姓氏,仅当 entity_type 为 INDIVIDUAL 时存在。
-
当
payment_method = SWIFT时:- 仅可包含英文字母、数字、特殊字符(半角格式)和空格。
- 允许的特殊字符:
-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……
-
当
payment_method = LOCAL时:- 不应用严格的校验规则,支持本地语言字符。
-
当
bank_details.bank_country_code = SG且bank_details.account_currency_code = SGD时无需传入此字段
45^[a-zA-Z0-9 -_().,@#~!$%^&*+={}\|:"'<>?/・……]*$"Doe"
受益人的公司名称,仅当 entity_type 为 COMPANY 时存在。
-
当
payment_method = SWIFT时:- 仅可包含英文字母、数字、特殊字符(半角格式)和空格。
- 允许的特殊字符:
-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……
-
当
payment_method = LOCAL时:- 不应用严格的校验规则,支持本地语言字符。
-
当
bank_details.bank_country_code = SG且bank_details.account_currency_code = SGD时无需传入此字段 -
当
bank_country_code = CN且account_currency_code = CNH且payment_method = LOCAL且entity_type = COMPANY时,支持中文字符和中文括号()。
120^[a-zA-Z0-9 -_().,@#~!$%^&*+={}\|:"'<>?/・……]*$"UQPAY TECHNOLOGY SG PTE LTD"
使用 LOCAL 支付方式时,请提供 bank_country_code 和 currency 支持的清算系统。对于 CNH 等没有默认清算系统的币种,必须同时提供 bank_country_code 与 clearing_system。使用 SWIFT 支付方式时,请填写 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。当 account_number 未提供或为空时使用;两者至少提供一个非空值。
36"GB82 WEST 1234 5698 7654 32"
受益人的附加信息。
Show child attributes
Show child attributes
响应
受益人校验成功。
- BeneficiaryCheckResponse
- BeneficiaryCheckResponse
- BeneficiaryCheckResponse
需要指定支付方式,以确保针对该支付方式采集并校验准确的银行信息。
LOCAL:通过本地清算系统的境内支付网络处理的付款。SWIFT:通过 SWIFT 网络处理的跨境国际付款。CARD:通过 Mastercard Send 向卡受益人付款。可用性取决于账户授权,以及支付方式查询返回的国家、币种和收款实体配置。
LOCAL "LOCAL"
Show child attributes
Show child attributes
当支付方式为 LOCAL、银行国家为 SG 且账户币种为 SGD 时,未提供的 city、state 和 street_address 可返回空字符串。非空值仍须符合对应字段约束;其他路由须返回完整地址。
- Bank beneficiary address
- Mastercard beneficiary address
Show child attributes
Show child attributes
受益人的通用唯一标识符(UUID v4)。
"b3d9d2d5-4c12-4946-a09d-953e82sed2b0"
系统生成的用于标识该实体的编号。
"P220406-LLCVLRM"
指定用于筛选的受益人实体类型。有效值为:
COMPANY:企业实体INDIVIDUAL:个人账户
COMPANY, INDIVIDUAL "COMPANY"
受益人的电子邮箱地址。
"example@uqpay.com"
受益人的状态。
ACTIVE:受益人已完成验证,可以收款。PENDING:受益人正在验证过程中,暂时无法收款。
ACTIVE, PENDING "ACTIVE"
受益人的摘要。
"John Doe"
受益人昵称。
120"John Doe"
受益人的公司名称,仅当 entity_type 为 COMPANY 时存在。
-
当
payment_method = SWIFT时:- 仅可包含英文字母、数字、特殊字符(半角格式)和空格。
- 允许的特殊字符:
-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……
-
当
payment_method = LOCAL时:- 不应用严格的校验规则,支持本地语言字符。
-
当
bank_details.bank_country_code = SG且bank_details.account_currency_code = SGD时无需传入此字段 -
当
bank_country_code = CN且account_currency_code = CNH且payment_method = LOCAL且entity_type = COMPANY时,支持中文字符和中文括号()。
120^[a-zA-Z0-9 -_().,@#~!$%^&*+={}\|:"'<>?/・……]*$"UQPAY TECHNOLOGY SG PTE LTD"
受益人的名字,仅当 entity_type 为 INDIVIDUAL 时存在。
-
当
payment_method = SWIFT时:- 仅可包含英文字母、数字、特殊字符(半角格式)和空格。
- 允许的特殊字符:
-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……
-
当
payment_method = LOCAL时:- 不应用严格的校验规则,支持本地语言字符。
-
当
bank_details.bank_country_code = SG且bank_details.account_currency_code = SGD时无需传入此字段
45^[a-zA-Z0-9 -_().,@#~!$%^&*+={}\|:"'<>?/・……]*$"John"
受益人的姓氏,仅当 entity_type 为 INDIVIDUAL 时存在。
-
当
payment_method = SWIFT时:- 仅可包含英文字母、数字、特殊字符(半角格式)和空格。
- 允许的特殊字符:
-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……
-
当
payment_method = LOCAL时:- 不应用严格的校验规则,支持本地语言字符。
-
当
bank_details.bank_country_code = SG且bank_details.account_currency_code = SGD时无需传入此字段
45^[a-zA-Z0-9 -_().,@#~!$%^&*+={}\|:"'<>?/・……]*$"Doe"
个人受益人的身份证件号码。 当受益人为中国大陆居民且满足以下条件时必填:
bank_details.account_currency_code为CNHpayment_method为LOCAL
"110101199001011234"
受益人的创建时间。
"2024-03-01T00:00:00+08:00"
受益人的更新时间。
"2024-03-01T00:00:00+08:00"
受益人的附加信息。
Show child attributes
Show child attributes

