支付宝交易退款查询
商户可使用该接口查询自已通过退款申请提交的退款请求是否执行成功。
一、请求地址
https://kf.fw199.com/gateway/partner/pay/alipay/personal/trade/refund/query
二、请求参数
| 参数名 | 类型 | 说明 | 示例 |
|---|---|---|---|
| appid | String | 合作伙伴Id | |
| timestamp | String | 时间戳 | 请求时的时间,unixtime格式 |
| trade_no | String | 支付宝交易号 | 支付宝交易号,和商户订单号不能同时为空 |
| out_trade_no | String | 商户订单号。 订单支付时传入的商户订单号,商家自定义且保证商家系统中唯一。与支付宝交易号 trade_no 不能同时为空。 | |
| out_request_no | String | 必须,退款请求号。 | |
| sign | String | 签名 | 对各参数使用提供的AppSecret进行签名,签名逻辑具体实现见示例代码 |
请求示例
@Test public void PayAlipayPersonalTradeRefundQueryUrl() 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","202309062200146427143687" ); data.put("out_request_no","2023090622001466832807-6" ); data.put("sign", Utils.Sign(data, Config.AppSecret )); String result = doHttpRequest(Config.PayAlipayPersonalTradeRefundQueryUrl,data); System.out.println(result); }三、接口返回结果
{ "code": 0, "message": "ok", "data": { "out_request_no": "2023090622001464271436832807-6", "out_trade_no": "20230906115624999565", "refund_amount": "3", "refund_detail_item_list": [ { "amount": "3", "fund_channel": "ALIPAYACCOUNT" } ], "refund_status": "REFUND_SUCCESS", "send_back_fee": "3", "total_amount": "1000", "trade_no": "2023090622001464271436832807" }, "trace_id": ""}四、返回参数说明
返回字段中code为0表示成功,非0失败,失败的话message会有失败原因。成功的往左,会有以下字段。
| 参数 | 类型 | 描述 |
|---|---|---|
| trade_no | String | 支付宝交易号 |
| out_trade_no | String | 商家订单号 |
| out_request_no | String | 本笔退款对应的退款请求号 |
| refund_amount | String | 本次退款请求,对应的退款金额。单位:分 |
| refund_status | String | 退款状态。枚举值: REFUND_SUCCESS 退款处理成功; 未返回该字段表示退款请求未收到或者退款失败; 注:如果退款查询发起时间早于退款时间,或者间隔退款发起时间太短,可能出现退款查询时还没处理成功,后面又处理成功的情况,建议商户在退款发起后间隔10秒以上再发起退款查询请求。 枚举值 退款处理成功: REFUND_SUCCESS |
| send_back_fee | String | 本次商户实际退回金额;单位:分。 |
| total_amount | String | 该笔退款所对应的交易的订单金额。单位:分。 |
| refund_detail_item_list | refund_detail_item_list[] | 退款使用的资金渠道。 |
| —– fund_channel | String | 交易使用的资金渠道 |
| —– amount | String | 该支付工具类型所使用的金额。单位:分。 |