Appearance
发起退款
POST /api/refund/refundOrder
代码出处:jeepay-payment/pay/rqrs/refund/RefundOrderRQ.java / RefundOrderRS.java。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| mchNo | String(64) | 是 | 商户号 |
| appId | String(64) | 是 | 商户应用 ID |
| mchOrderNo | String | 二选一 | 商户订单号 |
| payOrderId | String | 二选一 | 平台支付订单号 |
| mchRefundNo | String | 是 | 商户退款单号,商户侧唯一 |
| refundAmount | Long | 是 | 退款金额,单位:分 |
| currency | String | 是 | 货币代码 |
| refundReason | String | 否 | 退款原因 |
| clientIp | String | 否 | 客户端 IP |
| notifyUrl | String | 否 | 退款结果异步通知地址 |
| channelExtra | String | 否 | 特定渠道发起额外参数 |
| extParam | String | 否 | 商户扩展参数 |
| version / signType / reqTime / sign | String | 是 | 公共字段,见鉴权说明 |
响应参数(data)
| 参数 | 类型 | 说明 |
|---|---|---|
| refundOrderId | String | 平台退款订单号 |
| mchRefundNo | String | 商户退款单号 |
| payAmount | Long | 原支付金额(分) |
| refundAmount | Long | 退款金额(分) |
| state | Byte | 退款状态:0-订单生成,1-退款中,2-退款成功,3-退款失败,4-退款任务关闭 |
| channelOrderNo | String | 渠道退款单号 |
| errCode / errMsg | String | 错误码 / 错误描述 |
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":"<按签名算法计算>"}'