跳到主要内容

创建下发单 Try it ↗

POST /api/payouts​

创建一笔下发单。需要携带 X-Request-No 防止重复提交。

所需权限: payouts:write

请求头:

x-api-key: sk-xxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
X-Request-No: <唯一请求编号>

请求正文 (Body):

{
"type": "INTERNATIONAL_TRANSFER",
"payout_details": {
"request": {
"sourceCurrency": "USD",
"destinationCurrency": "CNY",
"notes": "Q1 vendor payment"
}
},
"remits": [
{
"type": "SWIFT",
"line_number": 1,
"details": {
"amount": {
"receive_amount": 10000
},
"recipient": {
"account_type": "COMPANY",
"country_code": "CHN",
"transfer_type": "WIRE",
"bank_name": "China Construction Bank",
"bank_swift_code": "PCBCCNBJ",
"bank_address": "Beijing, China",
"account_number": "6217001234567890",
"beneficiary_name": "Example Corp Ltd"
},
"display_name": "Example Corp",
"save_as_payee": true
}
}
]
}

字段说明​

顶层字段​

字段类型必填说明
typestring是下发单类型
payout_details.requestobject是下发请求信息
remitsarray是汇款明细列表

type 可选值​

值说明
INTERNATIONAL_TRANSFER国际汇款
CHINA_MAINLAND_BANK_TRANSFER中国大陆银行转账
ALIPAY_MAINLAND_TRANSFER中国大陆支付宝转账

payout_details.request 字段​

字段类型必填说明
sourceCurrencystring否付款货币,如 USD
destinationCurrencystring否收款货币,如 CNY
notesstring否备注

remits[] 字段​

字段类型必填说明
typestring是汇款类型:SWIFT / CHINA_MAINLAND_BANK / ALIPAY_MAINLAND
line_numbernumber是明细行号,从 1 开始
details.amount.receive_amountnumber否收款金额
details.recipientobject否收款方信息(与 recipient_id 二选一)
details.recipient_idstring否已有收款方 ID
details.payee_idstring否已有收款人 ID
details.display_namestring否显示名称
details.save_as_payeeboolean否是否保存为收款人,默认 false

收款方信息 (Recipient)​

按汇款类型不同,recipient 结构有所区别。

SWIFT​

字段类型必填说明
account_typestring是PERSONAL 或 COMPANY
country_codestring是ISO 3166-1 Alpha-3 国家代码
transfer_typestring是WIRE 或 WIRE_SAME_NAME
bank_namestring是银行名称
bank_swift_codestring是SWIFT 代码
bank_addressstring是银行地址
account_numberstring是账号
beneficiary_namestring是收款人姓名
beneficiary_id_documentstring[]否身份证件文件 ID
beneficiary_statementstring[]否声明文件 ID
beneficiary_business_registrationstring[]否营业执照文件 ID
beneficiary_company_registrationstring[]否公司注册文件 ID

中国大陆银行​

字段类型必填说明
account_typestring是PERSONAL 或 COMPANY
bank_namestring是银行名称
branch_namestring是支行名称
account_numberstring是账号
beneficiary_namestring是收款人姓名
id_numberstring否身份证号(个人账户建议提供)
phone_numberstring否预留手机号(个人账户建议提供)
business_licensestring[]否营业执照文件 ID

支付宝​

字段类型必填说明
account_typestring是PERSONAL(仅支持个人)
accountstring是支付宝账号
beneficiary_namestring是收款人姓名
phone_numberstring是手机号

响应正文 (Body)​

成功 200:

{
"success": true,
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}

错误响应​

// 400 — 请求内容不正确
{ "success": false, "message": "请求内容不正确" }
// 400 — 业务校验失败
{ "success": false, "message": "不允许使用此收款方式" }
{ "success": false, "message": "recipient 和 recipient_id 不能同时为空" }
// 401
{ "success": false, "message": "未授权" }
// 403
{ "success": false, "message": "权限不足" }

示例代码​

#!/bin/bash
API_ENDPOINT="YOUR_API_ENDPOINT"
API_KEY="YOUR_API_KEY"
REQUEST_NO="req-$(date +%s)-$RANDOM"

BODY='{
"type": "INTERNATIONAL_TRANSFER",
"payout_details": {
"request": {
"sourceCurrency": "USD",
"destinationCurrency": "CNY",
"notes": "Q1 vendor payment"
}
},
"remits": [
{
"type": "SWIFT",
"line_number": 1,
"details": {
"amount": { "receive_amount": 10000 },
"recipient": {
"account_type": "COMPANY",
"country_code": "CHN",
"transfer_type": "WIRE",
"bank_name": "China Construction Bank",
"bank_swift_code": "PCBCCNBJ",
"bank_address": "Beijing, China",
"account_number": "6217001234567890",
"beneficiary_name": "Example Corp Ltd"
},
"display_name": "Example Corp",
"save_as_payee": true
}
}
]
}'

curl -X POST "https://${API_ENDPOINT}/api/payouts" \
-H "x-api-key: ${API_KEY}" \
-H "Content-Type: application/json" \
-H "X-Request-No: ${REQUEST_NO}" \
-d "$BODY"