Appearance
支付订单查询接口 ¶
提示
用于支付订单创建后,可以通过该接口主动查询订单状态,完成下一步的业务逻辑。
接口说明 ¶
参数 | 说明 |
---|---|
请求URL | /unipay/query/payOrder |
请求方式 | POST |
请求类型 | application/json |
请求参数 ¶
字段名 | 变量名 | 必填 | 类型 | 长度 | 示例值 | 描述 |
---|---|---|---|---|---|---|
订单号 | orderNo | 否 | String | 32 | 1753370980523384832 | 订单号与商户订单号不可以同时为空,同时传输是以订单号为准 |
商户订单号 | bizOrderNo | 否 | String | 100 | P0001 | 订单号与商户订单号不可以同时为空,同时传输是以订单号为准 |
用户IP | clientIp | 否 | String | 64 | 127.0.0.1 | 支持Ipv4和Ipv6,部分支付通道要求必填,如调用微信支付时 |
随机数值 | nonceStr | 否 | String | 32 | d112892e382a7093 | |
签名值 | sign | 否 | String | 64 | 072695d112892e382a7093b81e6a52af | |
请求时间 | reqTime | 是 | Long | 123123121 | 使用时间戳(秒级) |
响应结果 ¶
提示
业务数据包裹在公共响应参数
中的data
字段,在code
为0
时才会有返回数据。
字段名 | 变量名 | 必传 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
支付订单号 | orderNo | 是 | String | 1753370980523384832 | 系统生成的订单号 |
商户支付订单号 | bizOrderNo | 是 | String | P0001 | 商户传输的订单号 |
通道支付订单号 | outOrderNo | 是 | String | 22212137757334130130 | 三方支付系统返回的交易号 |
标题 | title | 是 | String | 测试支付 | |
描述 | description | 否 | String | 测试描述 | |
支持分账 | allocation | 否 | Boolean | true | 订单是都支持分账 |
自动分账 | description | 否 | Boolean | false | 是否开启自动分账 |
支付通道 | autoAllocation | 是 | String | wechat_pay | |
支付方式 | method | 是 | String | qrcode | |
金额 | amount | 是 | int | 20 | 订单支付的金额 |
可退款余额 | refundableBalance | 是 | int | 18 | 剩余可以进行退款的余额 |
支付状态 | status | 是 | String | progress | 见PayStatusEnum说明 |
分账状态 | allocationStatus | 是 | String | progress | 见PayOrderAllocStatusEnum说明 |
支付时间 | payTime | 否 | Long | 114454145 | 使用时间戳(秒级) |
过期时间 | expiredTime | 是 | Long | 1454412354 | 使用时间戳(秒级) |
关闭时间 | closeTime | 是 | Long | 1454412354 | 使用时间戳(秒级) |
错误码(订单) | errorCode | 否 | Integer | 0 | 与状态码(公共)不同,这里返回的是支付订单的错误状态 |
错误信息(订单) | errorCode | 否 | String | 未启用分账 | 与错误信息(公共),这里返回的是支付订单的错误信息提示 |
签名 | sign | 是 | String | 072695d112892e382a7093b81e6a52af | |
状态码(公共) | code | 否 | Integer | 0 | 为0表示成功,非0表示失败 |
错误信息(公共) | msg | 否 | String | 关闭失败 | 状态非0时会有返回值 |
响应时间(公共) | resTime | 是 | Long | 123123121 | 服务返回请求的时间,时间戳(秒级) |
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));
}
}