iOS内购——自动续订型会员

原文链接:https://blog.csdn.net/HMOnlyou/article/details/139446159

一、内购支付流程

用户选择商品,发起购买操作,支付完成(会从AppleID账号关联的支付宝/微信 /银行卡完成扣款);

拿到APP本地生成的票据信息发送到苹果服务器验证有效性。
1)APP端可以直接向苹果服务器发起验单请求
2)也可以通过自己服务器向苹果服务器发起验单请求。
安全起见,选择后者!

自己服务器验单步骤:
1)获取APP提供的票据信息和预支付订单ID
2)存储预订单ID和票据信息(以备验单失败,定时拿着验单失败的票据信息发起验单请求)
3)拿着票据信息发送到苹果服务器验证有效性
4)请求成功,获取json中的transaction_id信息,查验该transaction_id是否已存在关联的订单信息。
不存在,则发放相关会员权益,将订单信息关联transaction_id并存储,移除步骤2)中存储的票据信息
已存在,则提示该订单已存在,并移除步骤2)中存储的票据信息
5)请求失败
状态码为21007、21008,则去对应的环境进行票据验证;
其他状态码,(可增加失败重试机制,超过重试次数上限)则提示验单失败!
6)请求响应超时,(可增加失败重试机制,超过重试次数上限)则提示验单失败!

预订单ID:是自己服务器的生成的,关联了商品的唯一标识ID、内购商品的ProductID、商品价格等信息

二、创建自动续订会员商品

参照了解苹果内购商品类型

三、生成APP专用共享密钥+配置服务器通知(V2版本)

选择版本2

版本 2涵盖更多客户生命周期活动,包括订阅项目过期、兑换优惠、退款等

1. 后台开发人员提供服务器通知URL,用于接收苹果服务器发送的续订,退订,升级,降级等通知,便于服务器更新用户相关的会员权益!
2. 提供APP专用共享密钥给后台开发人员,因为自动续订型商品的验单请求必须携带该**共享密钥**参数,才能验单成功!

四、添加沙盒账号,方便测试

进入苹果应用商店后台进行添加

沙盒账号要求:
1.填写未注册过AppleID的邮箱地址,可以是不存在的邮箱地址!
2.密码包含大小写字母、数字不少于8位的字符,例如Sandbox123

特殊需求

订阅将在续期 12 次后自动取消。

调整订阅项目续期率——多长时间续订一次。
默认续期率如下图所示:
英文:

翻译后:

订阅时长 续订间隔时长
1 周 3 分钟
1个月 5 分钟
2 个月 10 分钟
3 个月 15 分钟
6 个月 30 分钟
1 年 1 小时

 

了解更多续期率

用户管理订阅项目
在非沙盒账号的情况下,项目中可以设置为打开此 URL 启动iTunes 或 iTunes Store 并显示“管理订阅”页面。
https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions

五、自动订阅会员说明(自动续费声明) 和 自动续订会员服务协议(会员服务协议)

APP的会员购买页面需要添加自动续费声明,如下

提交审核时,应用描述中也要在以上说明的基础上添加会员服务协议的链接地址,例如下图:

 

原文链接:https://blog.csdn.net/HMOnlyou/article/details/139446159

 

posted @ 2024-11-25 17:59  哇哈爽  阅读(2)  评论(0编辑  收藏  举报