Skip to content

退款订单查询接口

提示

用于发起退款订单后,可以通过该接口主动查询退款订单的状态和信息,完成下一步的业务逻辑。

接口说明

参数说明
请求URL/unipay/query/refundOrder
请求方式POST
请求类型application/json

请求参数

字段名变量名必填类型长度示例值描述
退款号refundNoString32R00123退款号和商户退款号不能同时为空,同时传输时以退款号为准
商户退款号bizRefundNoString100DEVR24051019590563000001退款号和商户退款号不能同时为空,同时传输时以退款号为准
用户IPclientIpString64127.0.0.1支持V4和V6,部分支付方式要求必填,如调用微信支付方式时必传
随机数nonceStrString32d112892e382a7093
签名值signString64072695d112892e382a7093b81e6a52af
请求时间reqTimeLong123123121使用时间戳(秒级)

响应结果

提示

业务数据包裹在公共响应参数中的data字段,在code0时才会有返回数据。

字段名变量名必传类型示例值描述
支付订单号orderNoStringDEVP1753370980523384832
商户支付订单号bizOrderNoString
通道支付订单号outOrderNoString
支付标题titleString
退款号refundNoStringR0001
商户退款号bizRefundNoString
通道退款交易号outRefundNoString
退款通道channelStringali_pay
订单金额orderAmountInteger100
退款金额amountInteger10
退款原因reasonString测试退款
退款发起时间refundTimeLong1707317960退款发起的时间(秒级时间戳)
退款完成时间refundTimeLong1707317960退款完成的时间(秒级时间戳)
退款状态statusStringsuccess退款状态状态说明
错误码(订单)errorCodeInteger0与状态码(公共)不同,这里返回的是支付订单的错误状态
错误信息(订单)errorCodeString未启用分账与错误信息(公共),这里返回的是支付订单的错误信息提示
签名signString072695d112892e382a7093b81e6a52af
状态码(公共)codeInteger0为0表示成功,非0表示失败
错误信息(公共)msgString关闭失败状态非0时会有返回值
响应时间(公共)resTimeLong123123121服务返回请求的时间,时间戳(秒级)

错误码

状态码名称备注
0成功成功

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));
    }
}
本文档内容版权属于济南易杯光年软件技术有限公司