|
|
51CTO旗下网站
|
|
美高梅4858网址端

APP是如何实现自动续费的?

会员自动续费本质是委托扣款模式。只有用户完成签约,商户才可以对用户账户进行自动扣款,从而完成会员订单的支付操作。

作者:梦之痕来源:程序员共成长|2019-01-22 15:26

01、目标

在APP内实现会员自动续费的功能

02、流程

2.1、会员自动续费授权

会员自动续费本质是委托扣款模式。只有用户完成签约,商户才可以对用户账户进行自动扣款,从而完成会员订单的支付操作。

用户在应用内通过微信或支付宝的SDK完成代扣签约,微信或支付宝在用户签约成功后将签约信息通过异步通知的方式通知给商户后台。商户后台需要维护用户的签约信息,签约ID为核心信息,在订单的代扣请求中用于验证授权。

2.2、会员到期后自动发起续费流程

系统在检测用户会员即将到期后,发起该用户自动续费流程。需要完成订单创建及订单支付环节(代扣),最后在支付通知回调时为用户延迟会员时间。续费订单和普通订单主要区别在于是否调用委托代扣接口。

03、委托扣款授权

用户委托扣款授权是会员自动续费的前提,主要有支付中签约和纯签约两种模式。

3.1、支付中签约

支付的同时完成代扣协议的签约。只需要在原先的下单参数增加签约信息就可以支持签约功能,看上去非常适合我们会员自动续费的场景。在用户下单购买会员连续包月之后一并完成签约功能。

APP是如何实现自动续费的?

然而在实践的过程中发现有个问题忽略了,支付中签约默认是不开启签约的,需要用户手动开启委托代扣。我们是希望可以提高用户签约比例的,需要用户手动勾选这一步的操作成本真的太大了,不符合我们的预期。

3.2、仅签约

纯签约模式是商户先通过前端页面调用纯签约接口与用户完成代扣协议签约,当需要扣款时可调用申请扣款接口进行自动扣款。用户在签约后商户后台会接收到回调通知。

APP是如何实现自动续费的?

04、方案设计

调整后会员自动续费基本流程如下所示:

APP是如何实现自动续费的?

4.1、自动续费流程优化

使用仅签约接口,不使用支付中签约接口

仅签约接口可以限定用户必须签约后才可以购买连续包月商品。为了模拟用户签约并支付的体验,在用户签约成功后由系统发起自动续费流程。

4.2、如何避免会员签约后的重复续费

优化流程后,用户签约成功之后需要发起自动续费流程。这里需要确保不会对用户重复续费,这里可以考虑使用签约ID作为订单幂等元素。相同的签约ID只会发起一次自动续费。

4.3、如何避免会员到期后的重复续费

当会员到期后会发起自动续费流程,这里可以考虑使用会员到期时间戳作为订单幂等元素。若会员续费成功,会员到期时间戳会相应延长,不会再触发会员即将到期的逻辑。若会员续费失败,会员到期时间戳还是不变,也不会发起多个续费订单。

05、小结

在功能实现时换个思路可能会有不一样的发现。在这个功能上,使用仅签约接口可以模拟用户支付并签约的效果,符合我们的预期

【编辑推荐】

  1. iOS端Google APP新增Google Lens功能
  2. 百度智能小程序开源联盟成立,首批成员App月活超30亿
  3. 一篇文章了解H5打开APP的诸多方案
  4. 确认!谷歌Fuchsia系统支持运行安卓App
  5. 2018科技公司图鉴:十大“网红”App的诞生与陨落
【责任编辑:未丽燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+美高梅登录中心

活学活用 Ubuntu Server

活学活用 Ubuntu Server

实战直通车
共35章 | UbuntuServer

216人订阅学习

Java EE速成指南

Java EE速成指南

掌握Java核心
共30章 | 51CTO王波

83人订阅学习

Mysql DBA修炼之路

Mysql DBA修炼之路

MySQL入门到高阶
共24章 | 武凤涛

468人订阅学习

读 书 +美高梅登录中心

超级网管员——网络基础

本书全面系统地概括了计算机网络的基本理论,详细阐述了OSI模型与网络协议、网络规划与综合布线、对等网络与服务器/客户端网络、Intranet服...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客

博聚网