许多人在使用微信支付功能时,都会遇到这样的问题,在支付成功后由于种种原因导致交易失败,需要走退款流程退回支付金额。微信小程序退款的流程和付款相似,但有一些细节上的不同。退款的步骤通常如下:
用户前端点击退款按钮后,后端接收到用户的退款请求通过商城后台呈现给商户,商户确定允许退款后,后端再发起向微信退款接口的请求来请求退款。后端向微信退款接口发送请求后,得到响应信息,确定退款是否完成,根据退款是否完成再去进行改变订单状态等业务逻辑。
退款的步骤相对微信支付来说比较简单。值得注意的有以下两点:
1.向微信退款接口请求退款后,根据得到的响应是可以直接确定退款是否完成的。不再需要设置专门的回调接口等待微信通知。当然如果需要也是可以在微信商户平台设置回调接口接受从而接受微信回调的,但并不是必须的。
2.退款请求需要在请求服务器安装微信提供的安全证书,也就是说,发起退款请求相比较支付请求在请求时请求方法不能复用,因为微信退款需要携带证书的请求,此证书可在申请微信商户号成功后从微信商户平台自行下载,Linux下的PHP开发环境的证书只需要放在网站根目录的cert文件夹中即可。其他开发环境可能需要导入操作。下面讲解一下退款的具体步骤
一. 用户发起退款请求
用户在前端发起退款请求,后端接收到退款请求,将相应订单标记为申请退款,展示在后台.商户查看后,如果同意退款再进行相应操作.此后才进入真正的退款流程。
二. 商户发起退款请求
商户同意退款后,后端即向微信提供的退款 API 发起请求。同请求微信支付API一样.退款请求也需要将需要的参数进行签名后以XML发送到微信的退款API 。
三. 退款完成
在发起退款请求后,就可以直接根据请求的响应XML中的 result_code字段来判断退款是否成功,从而对订单状态进行处理和后续操作。不需要像支付那样等待另一个接口的通知来确定请求状态。当然如上文所说,如果需要微信服务器发送通知到后端的话,可以到微信商户平台进行设置。
微信退款涉及的东西较为繁杂,很多人会看官方文档。可以更清晰的了解小程序的退款流程。有读者会选择阅读非官方文档,肯定有无暇顾及或有所纰漏之处。为求稳妥,还是需要多看看官方开发文档。
推荐阅读:微信小程序如何实现支付流程
参与讨论
发表评论