微信支付是小程序帮助商家实现商业化的一个重要部分,合理的运用微信支付是一个合格的小程序必须做到的。
一、关闭自动结算
自动结算是什么?
当结算周期到了以后,微信支付会将微信支付商户号里面的未结算金额自动划走至商户号绑定的银行账户上面,并且收取约定的费率。
这就会导致一个很严重的问题:当商家需要退款给用户的时候,发现账户上的钱全部被结算到银行卡上了,那就没有钱可以退款给用户!
如何关闭自动结算?
打开微信支付商户后台,点击产品中心,关闭自动结算(并不是所有商家号都拥有这个功能)。
二、绑定微信支付商户号要谨慎
小程序后台里关于微信支付的绑定方式有两种:
1、利用现有小程序作为申请入口,申请一个新的微信支付;
2、绑定已有的微信支付商户号。
无论选择哪种方式,都是不可修改的!所以绑定时要十分谨慎。
如果条件允许,一定要绑定能关闭自动结算的微信支付商户号,能省去许多麻烦。
三、关于退款来源
微信支付api文档里面,退款申请接口列表,有一个叫退款申请的api。我们可以利用调取这个接口,从而在自己的后台开发出退款功能,而不用每对一个用户发起退款,都要登录微信支付的后台进行操作。
退款资金来源有两种:一种是未结算资金退款;另一种是可用余额退款。
未结算资金退款:当你的账号是T+n的时候,只要结算周期没到,入账的所有资金都会算作未结算资金。
可用余额退款:可用余额一般是指你通过“充值”进入商户号里面的钱。
做退款流程的时候,应该设计一个逻辑判断:先判断未结算资金是否满足退款金额,如果可以,则用未结算金额退款。
不满足则再用可用余额退款,如果不满足则退款失败。
为什么要这么设计?
首先,利用未结算资金退款的话,能少收取一些结算时产生的手续费,减少金额损耗。
其次,可用余额是充值进去的,用一点少一点,微信支付的充值流程异常复杂,少用可用余额可以减少不必要的公司内部财务流程。
每个微信公众号对应一个商户号,当用户关注你的公众号后,如果在你的公众号里面要进行支付操作,那么他支付的软妹币就流入到了你这个商户号里去了
上面代码中的 公众号支付商户号 哪里获得?进入微信商户号,登录后找到导航栏的 帐户中心--->商户信息【就是上面接口WeChatConst中说的 公众号支付商户号 !!!】
第一步:授权(可以是用户进你的界面就直接做,也可以用户点击界面中的某个按钮再授权,主要是拿openId)
一开始我觉得不需要这个openId,取了干啥?难道后面的下单一定要?开发文档里说了,trade_type=JSAPI时(即公众号支付),此参数必传,此参数为微信用户在商户对应appid下的唯一标识,
|