Create SubAccount
curl --request POST \
--url https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <api-key>' \
--data '
{
"entity_type": "COMPANY",
"nickname": "MyTechCorp",
"proof_documents": {
"proof_of_address": [
"<string>"
],
"source_of_funds": [
"<string>"
],
"proof_of_position_and_income": [
"<string>"
],
"other_proof": [
"b3d9d2d5-4c12-4946-a09d-953e82sed2b0"
]
}
}
'import requests
url = "https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts"
payload = {
"entity_type": "COMPANY",
"nickname": "MyTechCorp",
"proof_documents": {
"proof_of_address": ["<string>"],
"source_of_funds": ["<string>"],
"proof_of_position_and_income": ["<string>"],
"other_proof": ["b3d9d2d5-4c12-4946-a09d-953e82sed2b0"]
}
}
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',
nickname: 'MyTechCorp',
proof_documents: {
proof_of_address: ['<string>'],
source_of_funds: ['<string>'],
proof_of_position_and_income: ['<string>'],
other_proof: ['b3d9d2d5-4c12-4946-a09d-953e82sed2b0']
}
})
};
fetch('https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts', 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/accounts/create_accounts",
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',
'nickname' => 'MyTechCorp',
'proof_documents' => [
'proof_of_address' => [
'<string>'
],
'source_of_funds' => [
'<string>'
],
'proof_of_position_and_income' => [
'<string>'
],
'other_proof' => [
'b3d9d2d5-4c12-4946-a09d-953e82sed2b0'
]
]
]),
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/accounts/create_accounts"
payload := strings.NewReader("{\n \"entity_type\": \"COMPANY\",\n \"nickname\": \"MyTechCorp\",\n \"proof_documents\": {\n \"proof_of_address\": [\n \"<string>\"\n ],\n \"source_of_funds\": [\n \"<string>\"\n ],\n \"proof_of_position_and_income\": [\n \"<string>\"\n ],\n \"other_proof\": [\n \"b3d9d2d5-4c12-4946-a09d-953e82sed2b0\"\n ]\n }\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/accounts/create_accounts")
.header("x-auth-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"entity_type\": \"COMPANY\",\n \"nickname\": \"MyTechCorp\",\n \"proof_documents\": {\n \"proof_of_address\": [\n \"<string>\"\n ],\n \"source_of_funds\": [\n \"<string>\"\n ],\n \"proof_of_position_and_income\": [\n \"<string>\"\n ],\n \"other_proof\": [\n \"b3d9d2d5-4c12-4946-a09d-953e82sed2b0\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts")
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 \"nickname\": \"MyTechCorp\",\n \"proof_documents\": {\n \"proof_of_address\": [\n \"<string>\"\n ],\n \"source_of_funds\": [\n \"<string>\"\n ],\n \"proof_of_position_and_income\": [\n \"<string>\"\n ],\n \"other_proof\": [\n \"b3d9d2d5-4c12-4946-a09d-953e82sed2b0\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"account_id": "f5bb6498-552e-40a5-b14b-616aa04ac1c1",
"short_reference_id": "P220406-LLCVLRM",
"status": "PROCESSING",
"verification_status": "APPROVED"
}Account Center
Create SubAccount
该端点允许你在以下受支持的业务线之一下创建子账户:
ACQUIRINGBANKINGISSUING
每个子账户都必须归类为 COMPANY(企业)或 INDIVIDUAL(个人)实体。
子账户创建后,必须通过审核并被激活,才能使用。
对于 COMPANY 类型的子账户,通常需要提供额外文件才能完成入驻。请使用获取附加文件端点,获取适用于你的场景的必需和可选文件清单。
POST
/
v1
/
accounts
/
create_accounts
Create SubAccount
curl --request POST \
--url https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <api-key>' \
--data '
{
"entity_type": "COMPANY",
"nickname": "MyTechCorp",
"proof_documents": {
"proof_of_address": [
"<string>"
],
"source_of_funds": [
"<string>"
],
"proof_of_position_and_income": [
"<string>"
],
"other_proof": [
"b3d9d2d5-4c12-4946-a09d-953e82sed2b0"
]
}
}
'import requests
url = "https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts"
payload = {
"entity_type": "COMPANY",
"nickname": "MyTechCorp",
"proof_documents": {
"proof_of_address": ["<string>"],
"source_of_funds": ["<string>"],
"proof_of_position_and_income": ["<string>"],
"other_proof": ["b3d9d2d5-4c12-4946-a09d-953e82sed2b0"]
}
}
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',
nickname: 'MyTechCorp',
proof_documents: {
proof_of_address: ['<string>'],
source_of_funds: ['<string>'],
proof_of_position_and_income: ['<string>'],
other_proof: ['b3d9d2d5-4c12-4946-a09d-953e82sed2b0']
}
})
};
fetch('https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts', 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/accounts/create_accounts",
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',
'nickname' => 'MyTechCorp',
'proof_documents' => [
'proof_of_address' => [
'<string>'
],
'source_of_funds' => [
'<string>'
],
'proof_of_position_and_income' => [
'<string>'
],
'other_proof' => [
'b3d9d2d5-4c12-4946-a09d-953e82sed2b0'
]
]
]),
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/accounts/create_accounts"
payload := strings.NewReader("{\n \"entity_type\": \"COMPANY\",\n \"nickname\": \"MyTechCorp\",\n \"proof_documents\": {\n \"proof_of_address\": [\n \"<string>\"\n ],\n \"source_of_funds\": [\n \"<string>\"\n ],\n \"proof_of_position_and_income\": [\n \"<string>\"\n ],\n \"other_proof\": [\n \"b3d9d2d5-4c12-4946-a09d-953e82sed2b0\"\n ]\n }\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/accounts/create_accounts")
.header("x-auth-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"entity_type\": \"COMPANY\",\n \"nickname\": \"MyTechCorp\",\n \"proof_documents\": {\n \"proof_of_address\": [\n \"<string>\"\n ],\n \"source_of_funds\": [\n \"<string>\"\n ],\n \"proof_of_position_and_income\": [\n \"<string>\"\n ],\n \"other_proof\": [\n \"b3d9d2d5-4c12-4946-a09d-953e82sed2b0\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts")
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 \"nickname\": \"MyTechCorp\",\n \"proof_documents\": {\n \"proof_of_address\": [\n \"<string>\"\n ],\n \"source_of_funds\": [\n \"<string>\"\n ],\n \"proof_of_position_and_income\": [\n \"<string>\"\n ],\n \"other_proof\": [\n \"b3d9d2d5-4c12-4946-a09d-953e82sed2b0\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"account_id": "f5bb6498-552e-40a5-b14b-616aa04ac1c1",
"short_reference_id": "P220406-LLCVLRM",
"status": "PROCESSING",
"verification_status": "APPROVED"
}授权
由 UQPAY 提供的登录 API Token。
请求体
application/json
请从以下实体类型中选择一项。
- Individual Account
- Company Account
有关申请该账户的个人的信息。
该账户的实体类型。
可用选项:
COMPANY, INDIVIDUAL 示例:
"COMPANY"
该账户的昵称。
Maximum string length:
100示例:
"MyTechCorp"
个人账户注册的个人信息。
- 当
entity_type为INDIVIDUAL时必填。 gender与annual_income自 2026-07-02 起,对个人类型 SubAccount 为必填。
Show child attributes
Show child attributes
个人的身份验证信息。
- 当
entity_type为INDIVIDUAL时必填。
Show child attributes
Show child attributes
- 当
entity_type为INDIVIDUAL时必填。
Show child attributes
Show child attributes
- 当
entity_type为INDIVIDUAL时必填。
Show child attributes
Show child attributes
有关该账户接受 UQPAY 服务协议的详细信息。此属性仅可针对 Custom 账户更新。
Show child attributes
Show child attributes
响应
200 - application/json
账户创建成功。
账户的唯一标识符。
示例:
"f5bb6498-552e-40a5-b14b-616aa04ac1c1"
账户的短引用 ID。
示例:
"P220406-LLCVLRM"
账户的状态。为以下之一:
- ACTIVE - 账户已激活。
- PROCESSING - 账户当前正在审核和处理中。
- INACTIVE - 账户暂时未激活
- CLOSED - 账户已关闭。
示例:
"PROCESSING"
KYC/KYB 的状态。为以下之一:
- REJECT - 账户在身份验证过程中被拒绝。
- APPROVED - 账户已通过验证且处于激活状态。
- PENDING - 账户当前正在进行身份验证。
- EXPIRED - 验证已过期。
- RETURN - 账户已被退回以进行身份验证,需要重新上传。
Webhook 说明: 在 accountStatus webhook 通知中,这两个状态
分别以 REJECTED 和 RETURNED 下发(而非 REJECT / RETURN)。
其他所有值均相同。参见
账户状态 webhook。
可用选项:
APPROVED, PENDING, REJECT, EXPIRED, RETURN 示例:
"APPROVED"
⌘I

