Skip to content

3、放款(Loan)

3.1、放款接口(Loan interface)

URL:

https://${domain}/api/transferOrder

请将 ${domain} 替换为你的实际服务域名。

请求方式:POST

Content-Type:application/json

接口说明: 此接口用于发起放款请求,包括商户信息、订单信息、收款人信息以及回调地址等参数。

Body-parameters:

参数名类型长度必填说明
mchNostring32true商户号
appIdstring32true应用 ID
mchOrderNoString32true商户订单号
amountLong20true放款金额(单位:“分”,最小值 10000,10000等于100泰铢)
accountNoString32true银行帐户
accountNameString256true收款人姓名 (泰文 例:ลำดวนการะพิน)
emailString256true收款人邮箱
bankNameString32true银行代码(参考第 1 项)
userPhoneString32true收款人手机号 (泰国10位 例:0814911416)
taxIdString32true收款人身份证号
notifyUrlString256true放款结果回调地址
signString256true签名
reqTimeInt11true请求时间戳(秒)

请求示例(Request-example):

js(4)
{
    "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):

参数名类型说明
codeInt调用结果:0 表示成功(success),其余表示失败(error)
dataObject包含具体业务数据
msgstring结果描述
signstring签名,用于验证数据的完整性和真实性

data 对象字段(data object field):

参数名类型说明
accountNamestring收款人姓名(泰文 例:ลำดวนการะพิน)
accountNostring银行帐户
amountLong放款金额(单位:“分”,最小值 10000,10000等于100泰铢)
bankNamestring银行编码(code)
mchOrderNostring商户订单号
stateInt放款状态:0-生成订单,1-放款中,2-放款成功,3-放款失败,4-订单关闭
transferIdstring放款系统生成的唯一订单号

响应示例(Response-example):

js
{
    "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 协议以保证数据传输安全。

• 银行账户说明:所指银行账户并非用户的银行卡号,请参考以下示例:

img.png

3.3、放款通知(Loan Notify)

3.3.1、放款通知接口(Loan Notify interface)

类型(Type):POST

接口说明: 本接口用于通知放款结果,包括商户信息、订单详情、收款人信息及其他参数。

Body-parameters:

参数名类型说明
amountInteger放款金额(单位:“分”,最小值 10000,10000等于100泰铢)
codeString放款状态码(1.success成功 3.error失败)
accountNameString收款人姓名(泰文 例:ลำดวนการะพิน)
mchOrderNoString商户唯一订单号
signString验证用签名
bankNameString银行编码(code)
reqTimeLong请求时间戳
transferIdString唯一放款 ID
createdAtLong订单创建时间戳
accountNoString银行帐户
successTimeLong放款成功时间戳
stateInteger放款状态:0-生成订单,1-放款中,2-放款成功,3-放款失败,4-订单关闭

请求示例(Request-example):

js
{
    "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

•说明: 用于验证响应数据真实性和完整性的签名。接收方需要使用相同的签名算法对返回的数据进行签名验证。