查询支付订单
查询微信或支付宝的支付订单信息,主要用于判断微信或支付宝侧的订单是否已经付款。一般情况下,用户付款后,蜂巢都将支付订单回调给第三方系统。特殊情况下,若第三方系统没有收到回调通知,也可以通过本接口主动进行查询。
1.请求参数:
请求URL:
参数名 | 类型 | 必须 | 说明 |
---|---|---|---|
appid | String | 合作伙伴Id | |
timestamp | String | 必填 | 时间戳 请求时的时间,unixtime格式 |
pay_channel | String | 必填 | 支付渠道,微信传入weixin,支付宝传入alipay |
mch_id | String | 必填 | 微信或支付宝商户号 |
ext_trade_no | String | 必填 | 开发者之前调用蜂巢支付时,传入的订单号 |
sign | String | 必填 | 签名,对各参数使用提供的AppSecret进行签名,签名逻辑具体实现见示例代码 |
2. 请求示例代码(Java)
@Test
public void queryPayTrade() throws Exception {
String agentChannel = "weixin";
String mchId = "1618623419";
String extTradeNo = "DD202204151694131519";
Map<String, String> data = new HashMap<String, String>();
data.put("appid", Config.AppId);
Long timestamp = System.currentTimeMillis() / 1000;
data.put("timestamp", timestamp.toString());
data.put("mch_id", mchId);
data.put("ext_trade_no",extTradeNo );
data.put("pay_channel",agentChannel );
data.put("sign", Utils.Sign(data, Config.AppSecret));
String result = doHttpRequest(Config.QueryPayTradeUrl, data);
System.out.println(result);
}
3. 返回结果
如果code不为0,表示发生异常,返回异常结果类似,当然还会有其他异常情况,以code值为准。
{
"code": 11,
"message": "获取原始订单出错,请核实订单号ext_trade_no",
"trace_id": ""
}
查询微信订单成功情况:
{
"code": 0,
"message": "ok",
"data": {
"tppay_trade_no": "4200001322202204158870541798", // 微信订单号
"out_trade_no": "DD202204151694131519", // 第三方网站自定义的订单号
"quickpay_trade_no": "20220415191611181878", //蜂巢订单号
"pay_time": "2022-04-15 19:16:32", // 付款时间
"total_fee": 50, // 金额,单位分
"pay_channel": "weixin", // 支付渠道
"pay_user": "oxL-nt_wXbwtIh04tCNZ27T1X57M", //付款主的微信openId
"pay_status": "SUCCESS" // 支付成功为SUCCESS,否则FAIL
},
"trace_id": ""
}
查询支付宝订单成功的情况
{
"code": 0,
"message": "ok",
"data": {
"tppay_trade_no": "2022041522001464271428370802",// 支付宝订单号
"out_trade_no": "DD202204152099932560",// 第三方网站自定义的订单号
"quickpay_trade_no": "202204156372794266", //蜂巢订单号
"pay_time": "2022-04-15 22:42:11",// 付款时间
"total_fee": 50, // 金额,单位分
"pay_channel": "alipay",// 支付渠道
"pay_user": "sup***@163.com",//付款方的支付宝账号
"pay_status": "SUCCESS" // 支付成功为SUCCESS,否则FAIL
},
"trace_id": ""
}
说明: code为0表示成功,非0为失败,message会包含失败原因。 订单实际支付成功以pay_status为准。
文档更新时间: 2023-09-07 18:09 作者:admin