跳到主要内容

创建下发单 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_typestringPERSONALCOMPANY
country_codestringISO 3166-1 Alpha-3 国家代码
transfer_typestringWIREWIRE_SAME_NAME
bank_namestring银行名称
bank_swift_codestringSWIFT 代码
bank_addressstring银行地址
account_numberstring账号
beneficiary_namestring收款人姓名
beneficiary_id_documentstring[]身份证件文件 ID
beneficiary_statementstring[]声明文件 ID
beneficiary_business_registrationstring[]营业执照文件 ID
beneficiary_company_registrationstring[]公司注册文件 ID

中国大陆银行

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

支付宝

字段类型必填说明
account_typestringPERSONAL(仅支持个人)
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"