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",
"inherit": 1,
"nickname": "Contract Test 29b6fe0a"
}
'import requests
url = "https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts"
payload = {
"entity_type": "COMPANY",
"inherit": 1,
"nickname": "Contract Test 29b6fe0a"
}
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', inherit: 1, nickname: 'Contract Test 29b6fe0a'})
};
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',
'inherit' => 1,
'nickname' => 'Contract Test 29b6fe0a'
]),
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 \"inherit\": 1,\n \"nickname\": \"Contract Test 29b6fe0a\"\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 \"inherit\": 1,\n \"nickname\": \"Contract Test 29b6fe0a\"\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 \"inherit\": 1,\n \"nickname\": \"Contract Test 29b6fe0a\"\n}"
response = http.request(request)
puts response.read_body{
"account_id": "6b8ed487-f8ae-4ce7-b1ba-5f268ecab126",
"short_reference_id": "CB9757965824",
"status": "ACTIVE",
"verification_status": "APPROVED"
}Create SubAccount
在你的 UQPAY 账户下创建子账户。此请求无需选择业务线。
每个子账户都必须归类为 COMPANY(企业)或 INDIVIDUAL(个人)实体。
子账户创建后,必须通过审核并被激活,才能使用。
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",
"inherit": 1,
"nickname": "Contract Test 29b6fe0a"
}
'import requests
url = "https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts"
payload = {
"entity_type": "COMPANY",
"inherit": 1,
"nickname": "Contract Test 29b6fe0a"
}
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', inherit: 1, nickname: 'Contract Test 29b6fe0a'})
};
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',
'inherit' => 1,
'nickname' => 'Contract Test 29b6fe0a'
]),
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 \"inherit\": 1,\n \"nickname\": \"Contract Test 29b6fe0a\"\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 \"inherit\": 1,\n \"nickname\": \"Contract Test 29b6fe0a\"\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 \"inherit\": 1,\n \"nickname\": \"Contract Test 29b6fe0a\"\n}"
response = http.request(request)
puts response.read_body{
"account_id": "6b8ed487-f8ae-4ce7-b1ba-5f268ecab126",
"short_reference_id": "CB9757965824",
"status": "ACTIVE",
"verification_status": "APPROVED"
}授权
由 UQPAY 提供的登录 API Token。
请求头
建议提供此请求头,以便安全地重试创建账户。为每个新子账户使用唯一的小写 UUID;重试同一次创建请求时,复用原 key 和请求体。
提供 key 时,已完成请求的响应会缓存 24 小时,使用相同 key 重试时会返回原响应。若原请求仍在处理中,请等待后再重试。
未提供 key 时,仅在 5 秒窗口内,根据原始请求体对同一账户、同一接口的相同请求去重。该短窗口无法保护窗口过期后的重试。
请求体
请从以下实体类型中选择一项。
- Individual Account
- Company Account
有关申请该账户的个人的信息。
账户的实体类型。
INDIVIDUAL "COMPANY"
该账户的昵称。
100"MyTechCorp"
个人账户注册的个人信息。
- 当
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
- 当
entity_type为INDIVIDUAL时必填。
Show child attributes
Show child attributes
有关该账户接受 UQPAY 服务协议的详细信息。此属性仅可针对 Custom 账户更新。
Show child attributes
Show child attributes
响应
账户创建成功。
账户的唯一标识符。
"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"

