支付宝统一收单交易查询
该接口提供所有支付宝支付订单的查询,商户可以通过该接口主动查询订单状态,完成下一步的业务逻辑。
需要调用查询接口的情况:
当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知;
二、请求地址:
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进行签名,签名逻辑具体实现见示例代码 |
请求示例
@Test
public 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 |
文档更新时间: 2024-10-24 22:27 作者:admin