3、放款(Loan)
3.1、放款接口(Loan interface)
URL:
https://${domain}/api/transferOrder
请将 ${domain} 替换为你的实际服务域名。
请求方式:POST
Content-Type:application/json
接口说明: 此接口用于发起放款请求,包括商户信息、订单信息、收款人信息以及回调地址等参数。
Body-parameters:
| 参数名 | 类型 | 长度 | 必填 | 说明 |
|---|---|---|---|---|
| mchNo | string | 32 | true | 商户号 |
| appId | string | 32 | true | 应用 ID |
| mchOrderNo | String | 32 | true | 商户订单号 |
| amount | Long | 20 | true | 放款金额(单位:“分”,最小值 10000,10000等于100泰铢) |
| accountNo | String | 32 | true | 银行帐户 |
| accountName | String | 256 | true | 收款人姓名 (泰文 例:ลำดวนการะพิน) |
| String | 256 | true | 收款人邮箱 | |
| bankName | String | 32 | true | 银行代码(参考第 1 项) |
| userPhone | String | 32 | true | 收款人手机号 (泰国10位 例:0814911416) |
| taxId | String | 32 | true | 收款人身份证号 |
| notifyUrl | String | 256 | true | 放款结果回调地址 |
| sign | String | 256 | true | 签名 |
| reqTime | Int | 11 | true | 请求时间戳(秒) |
请求示例(Request-example):
{
"mchNo": "M1735112701",
"appId": "676bb7fefb715596544e2210",
"mchOrderNo": "PAYOUT_TEST_0009",
"amount": "1600",
"accountNo": "1234567890",
"accountName": "ลำดวนการะพิน",
"email": "test@gmail.com",
"bankName": "001",
"userPhone": "0814911416",
"notifyUrl": "http://domain.com/notify",
"sign": "B5C3EC55B093C9DE54EBB1199D0FFE7D",
"reqTime": "1739413509"
}3.2、放款结果(Loan results)
响应格式(response format):Content-Type:application/json
响应字段(Response-fields):
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Int | 调用结果:0 表示成功(success),其余表示失败(error) |
| data | Object | 包含具体业务数据 |
| msg | string | 结果描述 |
| sign | string | 签名,用于验证数据的完整性和真实性 |
data 对象字段(data object field):
| 参数名 | 类型 | 说明 |
|---|---|---|
| accountName | string | 收款人姓名(泰文 例:ลำดวนการะพิน) |
| accountNo | string | 银行帐户 |
| amount | Long | 放款金额(单位:“分”,最小值 10000,10000等于100泰铢) |
| bankName | string | 银行编码(code) |
| mchOrderNo | string | 商户订单号 |
| state | Int | 放款状态:0-生成订单,1-放款中,2-放款成功,3-放款失败,4-订单关闭 |
| transferId | string | 放款系统生成的唯一订单号 |
响应示例(Response-example):
{
"code": 0,
"data": {
"accountName": "ลำดวนการะพิน",
"accountNo": "7542123898",
"amount": 1600,
"bankName": "001",
"mchOrderNo": "PAYOUT_TEST_0009",
"state": 1,
"transferId": "T1889869535179149313"
},
"msg": "SUCCESS",
"sign": "3C256A7C86E0A60AC50C10964D52EBBD"
}TIP
• 严格放款流程(重点要求):
(1)必须遵循:先调用 KYC校验接口,再调用放款接口。
(2)姓名格式规范:必须为纯泰文,无空格,不能含有特殊字符。
(3)用户资料真实性:必须提供用户的真实姓名、手机号、邮箱等。缺失或虚假资料将导致还款失败。
(4)不支持批量KYC校验/放款操作,如有违规批量放款行为,账户将被关停。
• 放款KYC 状态要求:
(1)状态:只有 KYC 返回 "Active" 状态时,才能进行放款。
(2)限制:KYC 接口不宜频繁调用,查询状态间隔 10 分钟(银行有保护机制)。
•放款处理时间:
(1)耗时:一般在 5-10 分钟以内回调。
(2)卡状态:若长时间停留在“放款处理中”,通常原因在于银行端处理延迟。
• 接收到响应后,务必验证 sign 字段,确保数据未被篡改。
• 根据 state 的值判断当前订单放款状态,并执行相应的业务逻辑处理。
• 建议使用 HTTPS 协议以保证数据传输安全。
• 银行账户说明:所指银行账户并非用户的银行卡号,请参考以下示例:

3.3、放款通知(Loan Notify)
3.3.1、放款通知接口(Loan Notify interface)
类型(Type):POST
接口说明: 本接口用于通知放款结果,包括商户信息、订单详情、收款人信息及其他参数。
Body-parameters:
| 参数名 | 类型 | 说明 |
|---|---|---|
| amount | Integer | 放款金额(单位:“分”,最小值 10000,10000等于100泰铢) |
| code | String | 放款状态码(1.success成功 3.error失败) |
| accountName | String | 收款人姓名(泰文 例:ลำดวนการะพิน) |
| mchOrderNo | String | 商户唯一订单号 |
| sign | String | 验证用签名 |
| bankName | String | 银行编码(code) |
| reqTime | Long | 请求时间戳 |
| transferId | String | 唯一放款 ID |
| createdAt | Long | 订单创建时间戳 |
| accountNo | String | 银行帐户 |
| successTime | Long | 放款成功时间戳 |
| state | Integer | 放款状态:0-生成订单,1-放款中,2-放款成功,3-放款失败,4-订单关闭 |
请求示例(Request-example):
{
"amount": 65000,
"code": "success",
"accountName": "ลำดวนการะพิน",
"mchOrderNo": "O1579T1737618468435",
"sign": "D51B6BA7EC2A60E98C7252FA7E57B9F6",
"bankName": "003",
"reqTime": 1737623400406,
"transferId": "T1882334406440656897",
"createdAt": 1737618469235,
"accountNo": "7542123898",
"successTime": 1737622800000,
"state": 2
}3.3.2、成功接收响应(Successfully received the response)
描述: 成功接收,请返回 SUCCESS。
•sign:
•类型: String
•说明: 用于验证响应数据真实性和完整性的签名。接收方需要使用相同的签名算法对返回的数据进行签名验证。
