支付宝统一收单交易查询

该接口提供所有支付宝支付订单的查询,商户可以通过该接口主动查询订单状态,完成下一步的业务逻辑。
需要调用查询接口的情况:
当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知;

二、请求地址:

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": "10.00",
    "buyer_pay_amount": "10.00",
    "point_amount": "0.00",
    "invoice_amount": "10.00",
    "send_pay_date": "2023-09-06 11:58:51",
    "receipt_amount": "10.00",
    "fund_bill_list": [{ "fund_channel": "ALIPAYACCOUNT", "amount": "10.00" }],
    "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 88.88
buyer_pay_amount Price 特殊可选 11 买家实付金额,单位为元,两位小数。该金额代表该笔交易买家实际支付的金额,不包含商户折扣等金额 8.88
point_amount Price 特殊可选 11 积分支付的金额,单位为元,两位小数。该金额代表该笔交易中用户使用积分支付的金额,比如集分宝或者支付宝实时优惠等 10
invoice_amount Price 特殊可选 11 交易中用户支付的可开具发票的金额,单位为元,两位小数。该金额代表该笔交易中可以给用户开具发票的金额 12.11
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
文档更新时间: 2023-09-07 18:12   作者:admin