支付宝订单交易查询
该接口提供所有支付宝支付订单的查询,商户可以通过该接口主动查询订单状态,完成下一步的业务逻辑。 需要调用查询接口的情况: 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知;
一、请求地址
https://kf.fw199.com/gateway/partner/pay/alipay/personal/trade/query
二、请求参数
| 参数名 | 类型 | 说明 | 示例 |
|---|---|---|---|
| appid | String | 合作伙伴Id | |
| timestamp | String | 时间戳 | 请求时的时间,unixtime格式 |
| trade_no | String | 支付宝交易号 | 支付宝交易号,和商户订单号不能同时为空 |
| out_trade_no | String | 商户订单号 | 订单支付时传入的商户订单号,和支付宝交易号不能同时为空。 trade_no,out_trade_no如果同时存在优先取trade_no |
| sign | String | 签名 | 对各参数使用提供的AppSecret进行签名,签名逻辑具体实现见示例代码 |
请求示例
@Testpublic void PayAlipayPersonalTradeQuery() throws Exception { 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("trade_no","2023090622001464271436832807" ); data.put("sign", Utils.Sign(data, Config.AppSecret )); String result = doHttpRequest(Config.PayAlipayPersonalTradeQueryUrl,data); System.out.println(result);}三、接口返回结果
{ "code": 0, "message": "ok", "data": { "trade_no": "2023090622001464271436832807", "out_trade_no": "20230906115624999565", "buyer_logon_id": "sup***@163.com", "trade_status": "TRADE_SUCCESS", "total_amount": "1000", "buyer_pay_amount": "1000", "point_amount": "0", "invoice_amount": "1000", "send_pay_date": "2023-09-06 11:58:51", "receipt_amount": "1000", "fund_bill_list": [{ "fund_channel": "ALIPAYACCOUNT", "amount": "1000" }], "buyer_user_id": "2088002269364279" }, "trace_id": ""}失败的情况
{ "code": 2, "message": "Business Failed,交易不存在", "trace_id": "" }四、返回参数说明
返回字段中code为0表示成功,非0失败,失败的话message会有失败原因。成功的往左,会有以下字段。
| 参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
|---|---|---|---|---|---|
| trade_no | String | 必选 | 64 | 支付宝交易号 | 2013112011001004330000121536 |
| out_trade_no | String | 必选 | 64 | 商家订单号 | 6823789339978248 |
| buyer_logon_id | String | 必选 | 100 | 买家支付宝账号 | 1595620 |
| trade_status | String | 必选 | 32 | 交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款) | TRADE_CLOSED |
| total_amount | Price | 必选 | 11 | 交易的订单金额,单位为分, 该参数的值为支付时传入的total_amount | 8888 |
| buyer_pay_amount | Price | 特殊可选 | 11 | 买家实付金额,单位为分, 该金额代表该笔交易买家实际支付的金额,不包含商户折扣等金额 | 800 |
| point_amount | Price | 特殊可选 | 11 | 积分支付的金额,单位为分,该金额代表该笔交易中用户使用积分支付的金额,比如集分宝或者支付宝实时优惠等 | 10 |
| invoice_amount | Price | 特殊可选 | 11 | 交易中用户支付的可开具发票的金额,单位为分, 该金额代表该笔交易中可以给用户开具发票的金额 | 1211 |
| send_pay_date | Date | 特殊可选 | 32 | 本次交易打款给卖家的时间 | 2014-11-27 15:45:57 |
| receipt_amount | String | 特殊可选 | 11 | 实收金额,单位为分, 该金额为本笔交易,商户账户能够实际收到的金额 | 15.25 |
| fund_bill_list | TradeFundBill[] | 可选 | 交易支付使用的资金渠道。 只有在签约中指定需要返回资金明细,或者入参的query_options中指定时才返回该字段信息。 | ||
| buyer_user_id | String | 特殊可选 | 16 | 买家在支付宝的用户id想了解openid? | 2088101117955611 |
| buyer_open_id | String | 特殊可选 | 128 | 请预留此字段。 请使用buyer_open_id,后续buyer_user_id将不支持新接入使用,存量已对接的也将逐步回收。用户openid简介买家支付宝用户唯一标识. | 01501o8f93I3nJAGB1jG4ONxtxV25DCN3Gec3uggnC4CJU0 |