Skip to content

支付订单查询接口

提示

用于支付订单创建后,可以通过该接口主动查询订单状态,完成下一步的业务逻辑。

接口说明

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

请求参数

字段名变量名必填类型长度示例值描述
订单号orderNoString321753370980523384832订单号与商户订单号不可以同时为空,同时传输是以订单号为准
商户订单号bizOrderNoString100P0001订单号与商户订单号不可以同时为空,同时传输是以订单号为准
用户IPclientIpString64127.0.0.1支持Ipv4和Ipv6,部分支付通道要求必填,如调用微信支付时
随机数nonceStrString32d112892e382a7093
签名值signString64072695d112892e382a7093b81e6a52af
请求时间reqTimeLong123123121使用时间戳(秒级)

响应结果

提示

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

字段名变量名必传类型示例值描述
支付订单号orderNoString1753370980523384832系统生成的订单号
商户支付订单号bizOrderNoStringP0001商户传输的订单号
通道支付订单号outOrderNoString22212137757334130130三方支付系统返回的交易号
标题titleString测试支付
描述descriptionString测试描述
支持分账allocationBooleantrue订单是都支持分账
自动分账descriptionBooleanfalse是否开启自动分账
支付通道autoAllocationStringwechat_pay
支付方式methodStringqrcode
金额amountint20订单支付的金额
可退款余额refundableBalanceint18剩余可以进行退款的余额
支付状态statusStringprogressPayStatusEnum说明
分账状态allocationStatusStringprogressPayOrderAllocStatusEnum说明
支付时间payTimeLong114454145使用时间戳(秒级)
过期时间expiredTimeLong1454412354使用时间戳(秒级)
关闭时间closeTimeLong1454412354使用时间戳(秒级)
错误码(订单)errorCodeInteger0与状态码(公共)不同,这里返回的是支付订单的错误状态
错误信息(订单)errorCodeString未启用分账与错误信息(公共),这里返回的是支付订单的错误信息提示
签名signString072695d112892e382a7093b81e6a52af
状态码(公共)codeInteger0为0表示成功,非0表示失败
错误信息(公共)msgString关闭失败状态非0时会有返回值
响应时间(公共)resTimeLong123123121服务返回请求的时间,时间戳(秒级)

错误码

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

HTTP请求示例

请求参数

json
{
    "bizOrderNoeNo": "P1715603299772",
    "clientIp": "127.0.0.1",
    "sign": "337c290cdd5e3f0577afdd5f97c0de5dce6aed018744851312b6626ddf3d1ece",
    "reqTime": 1715847414
}

响应参数(成功)

json
{
    "msg": "success",
    "code": 0,
    "data": {
        "orderNo": "P24042713485063000003",
        "bizOrderNo": "P1714188241792",
        "outOrderNo": "2024042722001404211422038078",
        "title": "测试支付",
        "allocation": false,
        "channel": "ali_pay",
        "method": "qrcode",
        "amount": 1,
        "refundableBalance": 0,
        "status": "refunded",
        "payTime": 1714196968,
        "expiredTime": 1714198731,
        "code": 0,
        "resTime": 1715847645,
        "sign": "6df44639557d5dd890b895e3f3b513df8bcb81ca8df1133199ba647f5e6aee53"
    },
    "traceId": "R5O6fwFdbFRo"
}

响应参数(失败)

json
{
    "msg": "success",
    "code": 0,
    "data": {
        "code": 1,
        "msg": "未查询到支付订单",
        "resTime": 1715847869,
        "sign": "05aaef52b5c82e254aebd1abc8e77c7babae7e67cfc26b6111e514fba1ad8030"
    },
    "traceId": "IpRw6UVuvRTd"
}

SDK请求示例

提示

使用SDK可以简化接入支付的速度

java
package cn.daxpay.single.sdk.query;

import cn.daxpay.single.sdk.code.SignTypeEnum;
import cn.daxpay.single.sdk.model.pay.PayOrderModel;
import cn.daxpay.single.sdk.net.DaxPayConfig;
import cn.daxpay.single.sdk.net.DaxPayKit;
import cn.daxpay.single.sdk.param.pay.QueryPayParam;
import cn.daxpay.single.sdk.response.DaxPayResult;
import org.junit.Before;
import org.junit.Test;

/**
 * 查询支付订单测试类
 * @author xxm
 * @since 2024/2/7
 */
public class QueryPayOrderTest {

    @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 test() {
        QueryPayParam param = new QueryPayParam();

        param.setBizOrderNoeNo("P17141882417921");
        param.setClientIp("127.0.0.1");

        DaxPayResult<PayOrderModel> execute = DaxPayKit.execute(param);
        System.out.println(JSONUtil.toJsonStr(execute));
    }
}
本文档内容版权属于济南易杯光年软件技术有限公司