积分+金额购买商品,使用微信支付,什么时候扣减积分合适?

我现在要做一个微信支付的功能,会员积分+金额的组合方式进行支付购买,请问各位大牛积分在什么时候进行抵扣比较好呢?

在支付成功的回调进行积分的减扣,如果这时积分余额不足怎么办?
发起微信支付预申请成功将积分扣除,如果用户取消支付,在回调处理时中断了怎么办?当然可以加上定时器扫描,一段时间内未完成支付操作的回滚积分

还有其他更好的办法吗?

分为两步:
1.生成订单
2.为订单进行支付

分步后看起来就容易理清楚逻辑:

  1. 生成订单,并且关联生成两种路径的支付路径(积分+微信)

  2. 该订单有一个支付有效时间(例如2小时内未支付自动取消),并且也有用户手动取消的入口。

  3. 订单生成后进入支付逻辑。这两种逻辑中,其中积分支付立即进行,微信支付调用接口,支付成功回调时检查两种支付方式的支付状态,若都已经支付成功则订单成功支付,若积分支付还未完成则等待积分支付。

  4. 若出现超时取消或者用户自己取消,来自各个路径的支付将原路返回:积分将退回积分账户,微信调用退款接口

发起支付前先判断积分 支付成功后再扣除?这样不行么

发起支付后,冻结要扣除的积分,支付成功好再扣除,支付失败或者取消,就解冻之分,

一开始就设定一点积分合多少人民币,或者单独推出积分+现金的活动,否则后来添加起来难度有点大。
我觉得你可以添加新的模块,自己定义积分价值,购买时用户自己选择使用积分数量,结算时统一合成现金进行计价。

先扣除积分,
1、支付不成功,根据支付回调函数,返回积分,作废订单。
2、支付成功,修改订单状态为已成交即可。

发表评论

电子邮件地址不会被公开。 必填项已用*标注