Skip to content

发起退款 ​

POST /api/refund/refundOrder

代码出处:jeepay-payment/pay/rqrs/refund/RefundOrderRQ.java / RefundOrderRS.java。

请求参数 ​

参数类型必填说明
mchNoString(64)是商户号
appIdString(64)是商户应用 ID
mchOrderNoString二选一商户订单号
payOrderIdString二选一平台支付订单号
mchRefundNoString是商户退款单号,商户侧唯一
refundAmountLong是退款金额,单位:分
currencyString是货币代码
refundReasonString否退款原因
clientIpString否客户端 IP
notifyUrlString否退款结果异步通知地址
channelExtraString否特定渠道发起额外参数
extParamString否商户扩展参数
version / signType / reqTime / signString是公共字段,见鉴权说明

响应参数(data) ​

参数类型说明
refundOrderIdString平台退款订单号
mchRefundNoString商户退款单号
payAmountLong原支付金额(分)
refundAmountLong退款金额(分)
stateByte退款状态:0-订单生成,1-退款中,2-退款成功,3-退款失败,4-退款任务关闭
channelOrderNoString渠道退款单号
errCode / errMsgString错误码 / 错误描述

Java 示例(SDK) ​

java
JeepayResponse resp = client.refundOrder(new RefundOrderRequest()
        .mchNo("M1690858842671").appId("appId-demo")
        .payOrderId("P20261105000001")
        .mchRefundNo("REFUND-" + System.currentTimeMillis())
        .refundAmount(100L).currency("CNY")
        .refundReason("用户申请退款")
        .toParams());
System.out.println(resp.getString("refundOrderId") + " state=" + resp.getByte("state"));

curl 示例 ​

bash
curl -X POST http://<服务器IP>:9216/api/refund/refundOrder \
  -H 'Content-Type: application/json' \
  -d '{"version":"1.0","signType":"MD5","reqTime":"20261105120003","mchNo":"M1690858842671","appId":"appId-demo","payOrderId":"P20261105000001","mchRefundNo":"REFUND-20261105001","refundAmount":100,"currency":"CNY","refundReason":"用户申请退款","sign":"<按签名算法计算>"}'