视频介绍
https://v.youku.com/v_show/id_XNTIwMDQ5MzU5Ng==.html
判断退款是否成功,建议根据退款接口或者退款查询接口为准,若有需要可通过官方平台查询账单判断。
方式 | 判断依据 | 备注 |
退款接口 | 返回 fund_change=Y | 当 fund_change=N 时,需进一步调用退款查询接口判断。 |
退款查询接口 | 退款查询接口 返回refund_status=REFUND_SUCCESS | 退款查询接口请求的退款参数信息需与退款接口保持一致。 |
账单平台 | 平台显示的交易数据 | - |
退款同步响应数据判断
- alipay.trade.refund(统一收单交易退款接口)调用成功即 alipay_trade_refund_response 返回"code":"10000","msg":"Success",仅表示接口调用成功,不代表退款是否成功。
- 退款是否成功可以根据同步响应的 fund_change 参数来判断,fund_change 表示本次退款是否发生了资金变化,返回 Y 表示退款成功,返回 N 则表示本次退款未发生资金变动 。
- fund_change(本次退款是否发生了资金变化)是指本次接口请求是否资金变动,不是指该笔交易是否资金变动。如果第一次退款成功,返回 Y,但是相同参数(如 out_request_no 不变)第二次请求则会返回 N。
商家如果退款成功,但未保存是否响应参数,建议使用退款查询接口进行判断,而不是使用相同参数重新请求判断。 - 退款接口返回 fund_change=N 不代表交易没有退款,只是代表该次接口请求没有资金变动,此时需使用退款查询接口进行查询判断,该笔交易是退款失败,还是退款成功后重复操作导致。
接口同步响应示例
"alipay_trade_refund_response":{"code":"10000","msg":"Success","buyer_logon_id":"157******11","buyer_user_id":"2088*******41","fund_change":"Y","gmt_refund_pay":"2020-02-26 12:20:12","out_trade_no":"202002152001016841","refund_fee":"0.02","send_back_fee":"0.00","trade_no":"2020022622001401041424207271"},"sign":"***"
退款查询接口响应数据判断
- 商户退款后或者退款返回 fund_change=N,可使用 alipay.trade.fastpay.refund.query(统一收单交易退款查询)查询 alipay.trade.refund 提交的退款请求是否执行退款成功。
- 退款查询接口返回 10000,success,仅代表本次接口请求成功,不代表退款成功。
- 退款查询接口的 trade_no、out_trade_no、out_request_no 必须和退款接口保持一致,否则交易号一致,out_request_no 不同,只会返回 10000,success,但是没有具体的退款信息。
- 退款查询接口返回refund_status=REFUND_SUCCESS表示退款处理成功,否则表示退款没有执行成功。
说明:如果退款查询发起时间早于退款时间,或者间隔退款发起时间太短,可能出现退款查询时还没处理成功,后面又处理成功的情况,建议商户在退款发起后间隔10秒以上再发起退款查询请求。 - 如果接口未退款成功且不明确交易情况时,重试请务必保证退款请求号out_request_no以及请求参数一致,避免发生多次退款。
接口同步响应示例
{"alipay_trade_fastpay_refund_query_response":{"code":"10000","msg":"Success","out_request_no":"202002152001016841","out_trade_no":"202002152001016841","refund_amount":"0.02","refund_status":"REFUND_SUCCESS","total_amount":"0.02","trade_no":"2020022622001401041424207271"},"sign":"***"}
支付宝官网或者客户端查看
可登录支付宝客户端,在账单内找到该笔交易进行查看或点击 账单查看 登录,找到此笔交易的账单查看退款情况,如对后台或者支付宝客户端内显示的账单内容有疑问,请到 商家服务中心 在线咨询或拨打商家服务热线 4007585858 咨询,服务时间为:8:00-24:00。
注意事项
退款时根据异步的返回信息可进行判断,但部分接口存在全额退款时不进行触发异步,因此建议根据退款同步响应参数以及退款查询接口进行判断。
如果交易存在退款,并且交易对应的支付产品支持相关的交易通知触发,会返回带有退款信息(其中包含 gmt_refund,refund_fee)等相关退款参数的异步通知数据,发送到支付接口配置的异步地址上。
注:该情况下的交易退款接口异步通知数据是以支付接口交易状态通知触发情况进行发送的,例如电脑网站支付默认不支持 TRADE_CLOSED 状态的通知,如果全额进行退款操作,交易状态变成 TRADE_CLOSED,是不会往电脑网站支付接口异步地址上发送带有全额退款的异步通知内容信息。