微信支付分四步走1
一、用户选择微信支付,点击支付按钮
1、app 调用下单接口
2、后台调用统一下单接口: https://api.mch.weixin.qq.com/pay/unifiedorder2,
3、微信 将 签名后的支付数据 返回给 后台
3、后台将 签名后的支付数据 返回给 app
二、用户使用微信客户端支付
1、app 使用 签名后的支付数据 ,通过 微信SDK 提供的方法: api.sendReq(request);
3 调起支付。注意,这里没有请求后台,而是向手机本地的微信发起请求。由此可见,微信客户端 相当于微信在本地的一个代理
2、用户支付完成或者取消后,通过 onResp
回调方法通知到 app4
3、此时,微信后台也通过 通知url(notify_url
)5,将支付结果给到后台,此时后台需要保存支付结果,以供客户端查询。
三、app 查询支付状态
1、app 向后台查询支付结果
2、如果后台在上一步中保存了支付结果,则直接返回,否则需要继续向微信后台查询支付结果
3、查询到支付结果后,返回给客户端。然后客户端显示支付结果。
四、关闭订单
1、后台发起关闭订单接口:https://api.mch.weixin.qq.com/pay/closeorder6。注意:订单生成后不能马上调用关单接口,最短调用时间间隔为5分钟。
至此,微信支付的支付流程就完成了。
https://pay.weixin.qq.com/wiki/doc/api/app/app_sl.php?chapter=8_3 ↩︎
https://pay.weixin.qq.com/wiki/doc/api/app/app_sl.php?chapter=9_1 ↩︎
https://pay.weixin.qq.com/wiki/doc/api/app/app_sl.php?chapter=9_12&index=2 ↩︎
https://pay.weixin.qq.com/wiki/doc/api/app/app_sl.php?chapter=8_5 ↩︎
https://pay.weixin.qq.com/wiki/doc/api/app/app_sl.php?chapter=9_7&index=3 ↩︎
https://pay.weixin.qq.com/wiki/doc/api/app/app_sl.php?chapter=9_3&index=5 ↩︎