第一个 关于微信小程序的支付
最近公司有一个业务需求是,微信小程序商城本来只有余额支付和微信纯支付,让我添加一个余额和微信的混合支付,当前对于一个刚开始用微信小程序的萌新,当时就蒙了,就像这该怎么写,完全不会啊,支付方面完全没碰过。
于是就开始看前人写的代码,在经历了一个上午的啃咬之后,发现微信小程序的支付 其实也不是很复杂,我们公司的业务逻辑就是在点击立即购买时,先调一个提交订单的接口,然后判断根据(用户的金额 > 商品实付金额的) && 余额按钮打开,那么直接转余额支付成功页面,如果你的余额不够,那么直接让微信支付的模块显示,然后当用户点击立即支付时,调用一系列接口,到达微信支付。
然后现在需要进行混合支付,那么我应该在哪里做判断呢?这时候我在往前看,有一个查询用户信息的接口,这时候可以拿到余额,那么我现在拿到余额时,判断余额和我当前要购买的商品实付金额对比,如果我当前余额有,先让余额按钮开始,然后在提交订单时,判断用户余额足够且余额按钮打开,直接让用户支付成功,如果余额不足,余额按钮打开,就改变提交订单的一些参数,然后在让微信支付模块显示,同时进行一样的操作只是在传递金额所有改变
当前商城项目是可以调起微信支付后,选择点击模态框的背景或者后退不支付,然后你的订单会在代付款订单中,你可以点击代付款页面中的去付款然后付款,这时候遇到一个很奇怪的问题,就是你一开始选择微信支付,然后我在代付款页面中选择微信加余额混合支付,这时候微信会报商户号订单重复的错误,如果前后支付方式一样,就不会出错,一直没办法解决,实在想不通,这时候百度了一下,发现是因为微信支付提交后,会根据你当前的商城订单和你的价钱一系列的信息,微信支付官方会有一个订单号,当你下一个对这个订单付钱时,如果价格改变,微信就会报错,你只需要在你的订单号后加上一个随机的字符串即可,但这个也可能会对商城造成麻烦,然后我请示了经理,经理说添加一个'_'下划线然后跟随机生成的6位数就可以,最后这样解决了这个问题
差不多这样,下次在家┭┮﹏┭┮