应用场景
现在市面上的公众号h5页面大多接的是公众号支付,微信支付的流程大多还是类似的。而这次记录的是三方银行微信支付的流程,会有些许不一样。
微信公众号配置
微信授权配置
- 进入具有微信支付权限的微信公众平台
- 基本配置,配置网页授权域名、JS接口安全域名
- 在服务端代码中编写"获取js-sdk授权凭据"的接口
- 编写 创建订单时调起三方银行微信支付的接口
ps:与微信支付不一样的地方在于,返回微信支付请求信息中,还需要传appId给前端,这是个大坑!否则报的问题是"支付验证签名失效"! - 说明:由于接的是三方银行的微信支付,因此无需在微信商户平台进行相关配置,而需要在三方银行的微信开发配置那里进行配置。
三方银行商户平台
商户管理 - 微信开发配置
-
配置JS API支付授权目录
说明:新增相关JS API支付授权域名(前提是在公众号那里配置的域名已经是通过备案的!),所有需要支付请求的地址,都需要在支付授权目录下,域名需通过ICP备案,且URL需细化至二级或三级域名。
拓展
关键词
冻结金额,用户余额,订单微信支付金额,订单余额支付金额
三方银行微信支付,项目中涉及几个重要且容易搞混的东西,有需要的可以参考参考!
情况分析:
-
余额足以付款情况分析
将判断放在订单创建方法里,更新用户余额,将余额减去订单所需的余额支付金额。
条件:避免并发出现错误,比如(1)用户的冻结金额不为空,而当上一订单回调成功后会扣除余额及冻结金额情况(2)用户申请退款,在该订单还没完成前,退款金额便退还至用户余额,此时用户余额被改变。因此加两个属性判定,余额是否还是原来的余额,冻结金额是否还是原来的冻结金额,可以保证订单创建,且调起支付时订单各项数据的统一性,保证订单金额不出错,大致适用于并发情况! -
余额不足以付款,存在微信支付金额及冻结金额情况分析
(1)首先列出所有可能情况,填充订单实体几个字段,分别为余额付款金额,微信付款金额,总付款金额
(2)更新冻结金额
(3)微信支付,在回调成功方法里更新用户余额及冻结金额(也得考虑异常及并发情况)
此为项目上三方银行微信支付各异常情况分析及支付流程实操,因涉及相关企业信息,便不贴出代码交流,但大致的流程也已说明,一起交流!!!
网友评论