Skip to content

发起转账 ​

POST /api/transferOrder

代码出处:jeepay-payment/pay/rqrs/transfer/TransferOrderRQ.java / TransferOrderRS.java。需商户开通转账权限。

请求参数 ​

参数类型必填说明
mchNoString(64)是商户号
appIdString(64)是商户应用 ID
mchOrderNoString是商户转账单号,商户侧唯一
ifCodeString是转账接口代码,如 wxpay
entryTypeString是入账方式,如 WX_CASH(微信零钱)、BANK_CARD(银行卡)
amountLong是转账金额,单位:分
currencyString是货币代码
accountNoString是收款账号
accountNameString否收款人姓名
bankNameString否收款银行名称
clientIpString否客户端 IP
transferDescString否转账备注
notifyUrlString否转账结果异步通知地址
channelExtraString否特定渠道发起额外参数
extParamString否商户扩展参数
version / signType / reqTime / signString是公共字段,见鉴权说明

响应参数(data) ​

参数类型说明
transferIdString平台转账订单号
mchOrderNoString商户转账单号
amountLong转账金额(分)
accountNoString收款账号
accountNameString收款人姓名
bankNameString收款银行名称
stateByte转账状态:0-订单生成,1-转账中,2-转账成功,3-转账失败,4-订单关闭
channelOrderNoString渠道转账单号
channelResDataString渠道返回数据
errCode / errMsgString错误码 / 错误描述

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":"<按签名算法计算>"}'