搜索结果

×

搜索结果将在这里显示。

查询支付订单V2

商户通过该接口查询订单,支付网关会返回订单最新的数据。

本文档为查询订单 API 2.0 版本。2.0 版本支持以 5 种订单号类型中的任一种进行精准查单;已对接 1.0 接口的商户可继续使用原接口,无向下兼容影响。

接口说明
适用对象:普通商户 特约商户

请求URL:https://pay.yintongzaixian.com/api/pay/query/v2

请求方式:POST

请求类型:application/json 或 application/x-www-form-urlencoded

请求参数

字段名 变量名 必填 类型 示例值 描述
商户号 mchNo 是 String(30) M1621873433953 商户号
应用ID appId 是 String(24) 60cc09bce4b0f1c0b83761c9 应用ID
订单号类型 orderType 是 int 1 订单号类型,枚举值 1-5,详见下方说明
订单号值 orderNo 是 String(64) P20160427210604000490 与 orderType 配合使用,对应类型的订单号值
请求时间 reqTime 是 long 1622016572190 请求接口时间,13位时间戳
接口版本 version 是 String(3) 1.0 接口版本号,固定:1.0
签名 sign 是 String(32) C380BEC2BFD727A4B6845133519F3AD6 签名值,详见签名算法
签名类型 signType 是 String(32) MD5 签名类型,目前只支持MD5或RSA2方式

orderType 枚举说明

orderType 含义 orderNo 示例
1 支付订单号 P20160427210604000490(计全付系统生成)
2 商户订单号 20160427210604000490(商户系统生成)
3 渠道订单号 2021061822001423031419593035(收单机构系统生成)
4 用户支付凭证交易单号 微信/支付宝等支付凭证上的交易单号
5 用户支付凭证商户单号 微信/支付宝等支付凭证上的商户单号

请求示例数据

{
  "orderType": 1,
  "orderNo": "P202106181104177050002",
  "appId": "60cc09bce4b0f1c0b83761c9",
  "sign": "46940C58B2F3AE426B77A297ABF4D31E",
  "signType": "MD5",
  "reqTime": "1624006009",
  "mchNo": "M1623984572",
  "version": "1.0"
}

按商户订单号查询示例:

{
  "orderType": 2,
  "orderNo": "20160427210604000490",
  "appId": "60cc09bce4b0f1c0b83761c9",
  "sign": "5B9F4C21EA6624FE12FBD6D7BC2F62A0",
  "signType": "MD5",
  "reqTime": "1624006200",
  "mchNo": "M1623984572",
  "version": "1.0"
}

返回参数

字段名 变量名 必填 类型 示例值 描述
返回状态 code 是 int 0 0-处理成功,其他-处理有误,详见错误码
返回信息 msg 否 String(128) 签名失败 具体错误原因,例如:签名失败、参数格式校验错误
签名信息 sign 否 String(32) CCD9083A6DAD9A2DA9F668C3D4517A84 对data内数据签名,如data为空则不返回
返回数据 data 否 String(512) {} 返回下单数据,json格式数据

data数据格式

字段名 变量名 必填 类型 示例值 描述
支付订单号 payOrderId 是 String(30) P12021022311124442600 返回支付系统订单号
商户号 mchNo 是 String(30) M1621873433953 商户号
应用ID appId 是 String(24) 60cc09bce4b0f1c0b83761c9 应用ID
商户订单号 mchOrderNo 是 String(30) 20160427210604000490 返回商户传入的订单号
支付接口 ifCode 是 String(30) wxpay 支付接口编码
支付方式 wayCode 是 String(30) WX_LITE 支付方式,如微信小程序WX_LITE
支付金额 amount 是 int 100 支付金额,单位分
货币代码 currency 是 String(3) cny 三位货币代码,人民币:cny
订单状态 state 是 int 2 支付订单状态
0-订单生成
1-支付中
2-支付成功
3-支付失败
4-已撤销
5-已退款
6-订单关闭
客户端IP clientIp 否 String(32) 210.73.10.148 客户端IPV4地址
商品标题 subject 是 String(64) Jeepay商品标题测试 商品标题
商品描述 body 是 String(256) Jeepay商品描述测试 商品描述
渠道订单号 channelOrderNo 否 String 20160427210604000490 对应渠道的订单号
渠道错误码 errCode 否 String 1002 渠道下单返回错误码
渠道错误描述 errMsg 否 String 业务异常错误 渠道下单返回错误描述
扩展参数 extParam 否 String(512) 134586944573118714 商户扩展参数,回调时会原样返回
创建时间 createdAt 是 long 1622016572190 订单创建时间,13位时间戳
成功时间 successTime 否 long 1622016572190 订单支付成功时间,13位时间戳

返回示例数据

{
  "code": 0,
  "data": {
    "amount": 58,
    "appId": "60cc09bce4b0f1c0b83761c9",
    "body": "商品描述",
    "channelOrderNo": "2021061822001423031419593035",
    "clientIp": "192.166.1.132",
    "createdAt": 1623985457705,
    "currency": "cny",
    "extParam": "",
    "ifCode": "alipay",
    "mchNo": "M1623984572",
    "mchOrderNo": "mho1623985457320",
    "payOrderId": "P202106181104177050002",
    "state": 2,
    "subject": "商品标题",
    "successTime": 1623985459000,
    "wayCode": "ALI_BAR"
  },
  "msg": "SUCCESS",
  "sign": "9548145EA12D0CD8C1628BCF44E19E0D"
}

错误码

code msg 说明
0 SUCCESS 处理成功
其他 - 处理有误,msg 字段返回具体错误原因(如:签名失败、orderType 取值不合法、订单不存在等)

SDK 调用示例(Java):

JeepayClient jeepayClient = JeepayClient.getInstance(Jeepay.appId, Jeepay.apiKey, Jeepay.getApiBase());

PayOrderQueryV2Request request = new PayOrderQueryV2Request();
PayOrderQueryV2ReqModel model = new PayOrderQueryV2ReqModel();
model.setMchNo(Jeepay.mchNo);                   // 商户号
model.setAppId(jeepayClient.getAppId());        // 应用ID
model.setOrderType((byte) 1);                   // 订单号类型:1-支付订单号
model.setOrderNo("P202106181104177050002");     // 订单号值
request.setBizModel(model);

try {
    PayOrderQueryV2Response response = jeepayClient.execute(request);
    System.out.println("验签结果:" + response.checkSign(Jeepay.apiKey));

    if (response.isSuccess(Jeepay.apiKey)) {
        System.out.println("订单金额:" + response.get().getAmount());
        System.out.println("订单状态:" + response.get().getState());
    }
} catch (JeepayException e) {
    e.printStackTrace();
}

其他 orderType 调用示例:

// 按商户订单号查询
model.setOrderType((byte) 2);
model.setOrderNo("20160427210604000490");

// 按渠道订单号查询
model.setOrderType((byte) 3);
model.setOrderNo("2021061822001423031419593035");

// 按用户支付凭证交易单号查询
model.setOrderType((byte) 4);
model.setOrderNo("微信/支付宝交易单号");

// 按用户支付凭证商户单号查询
model.setOrderType((byte) 5);
model.setOrderNo("微信/支付宝商户单号");