创建内部出款
curl --request POST \
--url https://api-sandbox.uqpaytech.com/api/v1/payouts/intra \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <api-key>' \
--header 'x-idempotency-key: <x-idempotency-key>' \
--data '
{
"account_id": "CB5168811008",
"currency": "USD",
"amount": "0.01",
"purpose_code": "business_expenses",
"payout_reference": "INTRA-CONTRACT-20261020-01"
}
'import requests
url = "https://api-sandbox.uqpaytech.com/api/v1/payouts/intra"
payload = {
"account_id": "CB5168811008",
"currency": "USD",
"amount": "0.01",
"purpose_code": "business_expenses",
"payout_reference": "INTRA-CONTRACT-20261020-01"
}
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_id: 'CB5168811008',
currency: 'USD',
amount: '0.01',
purpose_code: 'business_expenses',
payout_reference: 'INTRA-CONTRACT-20261020-01'
})
};
fetch('https://api-sandbox.uqpaytech.com/api/v1/payouts/intra', 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/payouts/intra",
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_id' => 'CB5168811008',
'currency' => 'USD',
'amount' => '0.01',
'purpose_code' => 'business_expenses',
'payout_reference' => 'INTRA-CONTRACT-20261020-01'
]),
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/v1/payouts/intra"
payload := strings.NewReader("{\n \"account_id\": \"CB5168811008\",\n \"currency\": \"USD\",\n \"amount\": \"0.01\",\n \"purpose_code\": \"business_expenses\",\n \"payout_reference\": \"INTRA-CONTRACT-20261020-01\"\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/v1/payouts/intra")
.header("x-idempotency-key", "<x-idempotency-key>")
.header("x-auth-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"CB5168811008\",\n \"currency\": \"USD\",\n \"amount\": \"0.01\",\n \"purpose_code\": \"business_expenses\",\n \"payout_reference\": \"INTRA-CONTRACT-20261020-01\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.uqpaytech.com/api/v1/payouts/intra")
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_id\": \"CB5168811008\",\n \"currency\": \"USD\",\n \"amount\": \"0.01\",\n \"purpose_code\": \"business_expenses\",\n \"payout_reference\": \"INTRA-CONTRACT-20261020-01\"\n}"
response = http.request(request)
puts response.read_body{
"payout_id": "d2696076-257d-4da3-858d-c1499d540bb3",
"short_reference_id": "PT261020-Y4BU5K4E",
"payout_status": "READY_TO_SEND"
}Payouts
创建内部出款
向另一个 UQPAY 账户发起同币种法币出款。account_id 填写收款账户;通过 x-on-behalf-of 可指定已授权的子账户付款。不支持向实际付款账户自身转账。
付款账户须已开通内部出款能力。资金来源与余额要求见 with_transfer。
提交后,使用返回的出款 ID 和相同付款账户查询出款详情,确认出款状态。
POST
/
v1
/
payouts
/
intra
创建内部出款
curl --request POST \
--url https://api-sandbox.uqpaytech.com/api/v1/payouts/intra \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <api-key>' \
--header 'x-idempotency-key: <x-idempotency-key>' \
--data '
{
"account_id": "CB5168811008",
"currency": "USD",
"amount": "0.01",
"purpose_code": "business_expenses",
"payout_reference": "INTRA-CONTRACT-20261020-01"
}
'import requests
url = "https://api-sandbox.uqpaytech.com/api/v1/payouts/intra"
payload = {
"account_id": "CB5168811008",
"currency": "USD",
"amount": "0.01",
"purpose_code": "business_expenses",
"payout_reference": "INTRA-CONTRACT-20261020-01"
}
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_id: 'CB5168811008',
currency: 'USD',
amount: '0.01',
purpose_code: 'business_expenses',
payout_reference: 'INTRA-CONTRACT-20261020-01'
})
};
fetch('https://api-sandbox.uqpaytech.com/api/v1/payouts/intra', 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/payouts/intra",
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_id' => 'CB5168811008',
'currency' => 'USD',
'amount' => '0.01',
'purpose_code' => 'business_expenses',
'payout_reference' => 'INTRA-CONTRACT-20261020-01'
]),
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/v1/payouts/intra"
payload := strings.NewReader("{\n \"account_id\": \"CB5168811008\",\n \"currency\": \"USD\",\n \"amount\": \"0.01\",\n \"purpose_code\": \"business_expenses\",\n \"payout_reference\": \"INTRA-CONTRACT-20261020-01\"\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/v1/payouts/intra")
.header("x-idempotency-key", "<x-idempotency-key>")
.header("x-auth-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"CB5168811008\",\n \"currency\": \"USD\",\n \"amount\": \"0.01\",\n \"purpose_code\": \"business_expenses\",\n \"payout_reference\": \"INTRA-CONTRACT-20261020-01\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.uqpaytech.com/api/v1/payouts/intra")
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_id\": \"CB5168811008\",\n \"currency\": \"USD\",\n \"amount\": \"0.01\",\n \"purpose_code\": \"business_expenses\",\n \"payout_reference\": \"INTRA-CONTRACT-20261020-01\"\n}"
response = http.request(request)
puts response.read_body{
"payout_id": "d2696076-257d-4da3-858d-c1499d540bb3",
"short_reference_id": "PT261020-Y4BU5K4E",
"payout_status": "READY_TO_SEND"
}授权
由 UQPAY 提供的登录 API Token。
请求头
用于保证请求幂等性的唯一标识符(小写 UUID)。同一操作重试时使用相同标识符,避免重复出款。
请求体
application/json
收款目标账户的 UUID 或短号。目标须已激活、具有账户短号,且不能是实际付款账户自身。不支持邮箱。
Maximum string length:
36出款金额,不含手续费,须大于零。IDR、JPY 和 KRW 的出款金额须为整数。
Pattern:
^[0-9]+(\.[0-9]{1,2})?$出款用途,不区分大小写,不应带首尾空白。请按实际业务选择以下支持的用途码:
| 用途码 | 中文释义 |
|---|---|
audio_visual_services | 视听服务 |
bill_payment | 账单支付 |
business_expenses | 商业费用 |
construction | 建筑施工 |
donation_charitable_contribution | 慈善捐赠 |
education_training | 教育培训 |
family_support | 家庭支持 |
freight | 运费 |
goods_purchased | 购买商品 |
investment_capital | 投资本金 |
investment_proceeds | 投资收益 |
living_expenses | 生活费用 |
loan_credit_repayment | 贷款或信贷还款 |
medical_services | 医疗服务 |
pension | 养老金 |
personal_remittance | 个人汇款 |
professional_business_services | 专业商业服务 |
real_estate | 房地产 |
taxes | 税费 |
technical_services | 技术服务 |
transfer_to_own_account | 转入本人账户 |
travel | 旅行 |
wages_salary | 工资薪酬 |
Maximum string length:
200收款人昵称。
Maximum string length:
120出款用途的补充说明。
Maximum string length:
200用于关联业务的出款附言。
Maximum string length:
100是否在子账户付款前,先由其主账户划入本次付款所需资金。
使用主账户 Token 时,默认由主账户付款;携带 x-on-behalf-of 时,由指定的子账户付款。account_id 始终填写最终收款账户。
N或省略:直接使用付款账户余额。 资金流向为 付款账户 → 收款账户。付款账户可用余额须覆盖amount和出款手续费;余额不足时失败,不会自动从主账户划款。Y,由子账户付款:先从主账户划款,再由子账户付款。 资金流向为 主账户 → 付款子账户 → 收款账户。主账户先向子账户划入amount加出款手续费,再由子账户完成付款。即使子账户已有足够余额,也会划入这笔全额资金。
使用 Y 为子账户付款时,主账户总扣款 = amount + 出款手续费 + 主子账户划转手续费。主账户可用余额不足时失败,不会改用子账户已有余额。
如果实际付款账户是主账户,Y 与 N 的处理相同:直接使用该主账户的余额付款。
使用主账户供资时,付款子账户须直属于该主账户,并已开通此能力;出款币种的余额账户须有效,且可用余额不能为负。开通请联系 UQPAY。
可用选项:
Y, N 证明材料,每项使用 file_id 或 file 提供。
Show child attributes
Show child attributes

