现在市面上的公众号h5页面大多接的是公众号支付,微信支付的流程大多还是类似的。而这次记录的是三方银行微信支付的流程,会有些许不一样。
说明:新增相关JS API支付授权域名(前提是在公众号那里配置的域名已经是通过备案的!),所有需要支付请求的地址,都需要在支付授权目录下,域名需通过ICP备案,且URL需细化至二级或三级域名。
冻结金额,用户余额,订单微信支付金额,订单余额支付金额
三方银行微信支付,项目中涉及几个重要且容易搞混的东西,有需要的可以参考参考!
余额足以付款情况分析
将判断放在订单创建方法里,更新用户余额,将余额减去订单所需的余额支付金额。
条件:避免并发出现错误,比如(1)用户的冻结金额不为空,而当上一订单回调成功后会扣除余额及冻结金额情况(2)用户申请退款,在该订单还没完成前,退款金额便退还至用户余额,此时用户余额被改变。因此加两个属性判定,余额是否还是原来的余额,冻结金额是否还是原来的冻结金额,可以保证订单创建,且调起支付时订单各项数据的统一性,保证订单金额不出错,大致适用于并发情况!
余额不足以付款,存在微信支付金额及冻结金额情况分析
(1)首先列出所有可能情况,填充订单实体几个字段,分别为余额付款金额,微信付款金额,总付款金额
(2)更新冻结金额
(3)微信支付,在回调成功方法里更新用户余额及冻结金额(也得考虑异常及并发情况)
此为博主项目上三方银行微信支付各异常情况分析及支付流程实操,因涉及相关企业信息,便不贴出代码交流,但大致的流程也已说明,一起交流!!!
编程是一门事业。互励共勉!!!