跳转到内容
返回官网

支付宝交易退款查询

商户可使用该接口查询自已通过退款申请提交的退款请求是否执行成功。

一、请求地址

https://kf.fw199.com/gateway/partner/pay/alipay/personal/trade/refund/query

二、请求参数

参数名类型说明示例
appidString合作伙伴Id
timestampString时间戳请求时的时间,unixtime格式
trade_noString支付宝交易号支付宝交易号,和商户订单号不能同时为空
out_trade_noString商户订单号。 订单支付时传入的商户订单号,商家自定义且保证商家系统中唯一。与支付宝交易号 trade_no 不能同时为空。
out_request_noString
 必须,退款请求号。
signString签名对各参数使用提供的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_noString支付宝交易号
out_trade_noString商家订单号
out_request_noString
本笔退款对应的退款请求号
refund_amountString本次退款请求,对应的退款金额。单位:分
refund_statusString
退款状态。枚举值:
REFUND_SUCCESS 退款处理成功;
未返回该字段表示退款请求未收到或者退款失败;
注:如果退款查询发起时间早于退款时间,或者间隔退款发起时间太短,可能出现退款查询时还没处理成功,后面又处理成功的情况,建议商户在退款发起后间隔10秒以上再发起退款查询请求。
枚举值
退款处理成功: REFUND_SUCCESS
send_back_feeString本次商户实际退回金额;单位:分。
total_amountString该笔退款所对应的交易的订单金额。单位:分。
refund_detail_item_listrefund_detail_item_list[]退款使用的资金渠道。
—– fund_channelString交易使用的资金渠道
—– amountString该支付工具类型所使用的金额。单位:分。