Appearance
发起转账
POST /api/transferOrder
代码出处:jeepay-payment/pay/rqrs/transfer/TransferOrderRQ.java / TransferOrderRS.java。需商户开通转账权限。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| mchNo | String(64) | 是 | 商户号 |
| appId | String(64) | 是 | 商户应用 ID |
| mchOrderNo | String | 是 | 商户转账单号,商户侧唯一 |
| ifCode | String | 是 | 转账接口代码,如 wxpay |
| entryType | String | 是 | 入账方式,如 WX_CASH(微信零钱)、BANK_CARD(银行卡) |
| amount | Long | 是 | 转账金额,单位:分 |
| currency | String | 是 | 货币代码 |
| accountNo | String | 是 | 收款账号 |
| accountName | String | 否 | 收款人姓名 |
| bankName | String | 否 | 收款银行名称 |
| clientIp | String | 否 | 客户端 IP |
| transferDesc | String | 否 | 转账备注 |
| notifyUrl | String | 否 | 转账结果异步通知地址 |
| channelExtra | String | 否 | 特定渠道发起额外参数 |
| extParam | String | 否 | 商户扩展参数 |
| version / signType / reqTime / sign | String | 是 | 公共字段,见鉴权说明 |
响应参数(data)
| 参数 | 类型 | 说明 |
|---|---|---|
| transferId | String | 平台转账订单号 |
| mchOrderNo | String | 商户转账单号 |
| amount | Long | 转账金额(分) |
| accountNo | String | 收款账号 |
| accountName | String | 收款人姓名 |
| bankName | String | 收款银行名称 |
| state | Byte | 转账状态:0-订单生成,1-转账中,2-转账成功,3-转账失败,4-订单关闭 |
| channelOrderNo | String | 渠道转账单号 |
| channelResData | String | 渠道返回数据 |
| errCode / errMsg | String | 错误码 / 错误描述 |
Java 示例(SDK)
java
JeepayResponse resp = client.transferOrder(new TransferOrderRequest()
.mchNo("M1690858842671").appId("appId-demo")
.mchOrderNo("TRANSFER-" + System.currentTimeMillis())
.ifCode("wxpay").entryType("WX_CASH")
.amount(100L).currency("CNY")
.accountNo("oXkp91s6xxxxxxx").accountName("张三")
.transferDesc("佣金发放")
.toParams());
System.out.println(resp.getString("transferId") + " state=" + resp.getByte("state"));curl 示例
bash
curl -X POST http://<服务器IP>:9216/api/transferOrder \
-H 'Content-Type: application/json' \
-d '{"version":"1.0","signType":"MD5","reqTime":"20261105120005","mchNo":"M1690858842671","appId":"appId-demo","mchOrderNo":"TRANSFER-20261105001","ifCode":"wxpay","entryType":"WX_CASH","amount":100,"currency":"CNY","accountNo":"oXkp91s6xxxxxxx","accountName":"张三","transferDesc":"佣金发放","sign":"<按签名算法计算>"}'