评论

小程序支付用户不点击“完成”的处理方案

小程序支付,用户支付完成后,直接关机,或者删除小程序,不能触发支付回调的另类处理方案。

小程序支付,用户在付费成功后,没有点击“完成”,就没有支付成功回调触发,只能通过notify_url来接收异步回调通知,处理流程,当然这是正常的处理流程。

以下是另类的处理流程:

1、不处理notify_url;

2、在wx.requestPayment之前,将流程进度缓存,比如wx.setStorageSync('out_trade_no',out_trade_no);

3、那么,如果用户点击了“完成”或者取消支付,则必然会触发wx.requestPayment的回调success或者fail,则清除缓存,wx.removeStorageSync('out_trade_no');

4、如果用户没有点击“完成”,则用户下次打开小程序,一定是冷启动即重启小程序,因为如果是热启动,将还是停留在支付界面,用户可以继续点击“完成”,继续业务流程;

5、因为是冷启动,所以在pages/index/index的onLoad里常驻一个进程,检查是否有支付未完成缓存,如果有,则按照out_trade_no查询订单支付状态,再继续支付流程。

以上只是另类做法,仅供参考。

虽然不符合支付的标准流程,但是可以不需要专门的进程来负责notify_url。

最后一次编辑于  2021-03-22  
点赞 0
收藏
评论

1 个评论

  • 青寒
    青寒
    2021-03-22

    看着有点像APP里的检测漏单。

    2021-03-22
    赞同
    回复
登录 后发表内容