Appearance
退款订单查询接口 ¶
提示
用于发起退款订单后,可以通过该接口主动查询退款订单的状态和信息,完成下一步的业务逻辑。
接口说明 ¶
参数 | 说明 |
---|---|
请求URL | /unipay/query/refundOrder |
请求方式 | POST |
请求类型 | application/json |
请求参数 ¶
字段名 | 变量名 | 必填 | 类型 | 长度 | 示例值 | 描述 |
---|---|---|---|---|---|---|
退款号 | refundNo | 否 | String | 32 | R00123 | 退款号和商户退款号不能同时为空,同时传输时以退款号为准 |
商户退款号 | bizRefundNo | 否 | String | 100 | DEVR24051019590563000001 | 退款号和商户退款号不能同时为空,同时传输时以退款号为准 |
用户IP | clientIp | 否 | String | 64 | 127.0.0.1 | 支持V4和V6,部分支付方式要求必填,如调用微信支付方式时必传 |
随机数值 | nonceStr | 否 | String | 32 | d112892e382a7093 | |
签名值 | sign | 否 | String | 64 | 072695d112892e382a7093b81e6a52af | |
请求时间 | reqTime | 是 | Long | 123123121 | 使用时间戳(秒级) |
响应结果 ¶
提示
业务数据包裹在公共响应参数
中的data
字段,在code
为0
时才会有返回数据。
字段名 | 变量名 | 必传 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
支付订单号 | orderNo | 是 | String | DEVP1753370980523384832 | |
商户支付订单号 | bizOrderNo | 是 | String | ||
通道支付订单号 | outOrderNo | 是 | String | ||
支付标题 | title | 是 | String | ||
退款号 | refundNo | 是 | String | R0001 | |
商户退款号 | bizRefundNo | 是 | String | ||
通道退款交易号 | outRefundNo | 是 | String | ||
退款通道 | channel | 是 | String | ali_pay | |
订单金额 | orderAmount | 是 | Integer | 100 | |
退款金额 | amount | 是 | Integer | 10 | |
退款原因 | reason | 否 | String | 测试退款 | |
退款发起时间 | refundTime | 是 | Long | 1707317960 | 退款发起的时间(秒级时间戳) |
退款完成时间 | refundTime | 否 | Long | 1707317960 | 退款完成的时间(秒级时间戳) |
退款状态 | status | 是 | String | success | 见退款状态状态说明 |
错误码(订单) | errorCode | 否 | Integer | 0 | 与状态码(公共)不同,这里返回的是支付订单的错误状态 |
错误信息(订单) | errorCode | 否 | String | 未启用分账 | 与错误信息(公共),这里返回的是支付订单的错误信息提示 |
签名 | sign | 是 | String | 072695d112892e382a7093b81e6a52af | |
状态码(公共) | code | 否 | Integer | 0 | 为0表示成功,非0表示失败 |
错误信息(公共) | msg | 否 | String | 关闭失败 | 状态非0时会有返回值 |
响应时间(公共) | resTime | 是 | Long | 123123121 | 服务返回请求的时间,时间戳(秒级) |
HTTP请求示例 ¶
请求参数 ¶
json
{
"refundNo": "DEVR24051020531763000004",
"clientIp": "127.0.0.1",
"sign": "8e38b5dac6a0699b943b0041763b0fdfb876ccd19ba8336732d02673933c6a06",
"reqTime": 1715849116
}
响应参数(成功) ¶
json
{
"msg": "success",
"code": 0,
"data": {
"orderNo": "DEVP24051019470163000003",
"bizOrderNo": "SDK_1715341621498",
"outOrderNo": "18240510714196199521",
"title": "测试接口支付",
"refundNo": "DEVR24051020531763000004",
"bizRefundNo": "R10893",
"outRefundNo": "892405102053172090278",
"channel": "union_pay",
"orderAmount": 100,
"amount": 1,
"finishTime": 1715345597,
"status": "close",
"code": 0,
"resTime": 1715849013,
"sign": "f050b41c68fbf3cc69d75ebd4ac7bc2814a07fc6dd6be8e7bc8bc0f4ade87fc7"
},
"traceId": "dB09ZGvyT5Lf"
}
响应参数(失败) ¶
json
{
"msg": "success",
"code": 0,
"data": {
"code": 1,
"msg": "退款订单不存在",
"resTime": 1715849164,
"sign": "228aeccda2c31ebdb6853d3ba6b5b6e8a7cf92e8227db55eba3748c8d3909e92"
},
"traceId": "ogC4Cpq6Nlgn"
}
SDK请求示例 ¶
提示
使用SDK可以简化接入支付的速度
java
package cn.daxpay.single.sdk.query;
import cn.daxpay.single.sdk.code.SignTypeEnum;
import cn.daxpay.single.sdk.model.refund.RefundOrderModel;
import cn.daxpay.single.sdk.net.DaxPayConfig;
import cn.daxpay.single.sdk.net.DaxPayKit;
import cn.daxpay.single.sdk.param.refund.QueryRefundParam;
import cn.daxpay.single.sdk.response.DaxPayResult;
import org.junit.Before;
import org.junit.Test;
/**
* 退款订单查询接口
* @author xxm
* @since 2024/2/7
*/
public class QueryRefundOrderTest {
@Before
public void init() {
// 初始化支付配置
DaxPayConfig config = DaxPayConfig.builder()
.serviceUrl("http://127.0.0.1:9000")
.signSecret("123456")
.signType(SignTypeEnum.HMAC_SHA256)
.build();
DaxPayKit.initConfig(config);
}
@Test
public void testRefund() {
QueryRefundParam param = new QueryRefundParam();
param.setRefundNo("DEVR24051020531763000014");
param.setClientIp("127.0.0.1");
DaxPayResult<RefundOrderModel> execute = DaxPayKit.execute(param);
System.out.println(JSONUtil.toJsonStr(execute));
}
}