IOS内购自动续费订阅测试

这篇具有很好参考价值的文章主要介绍了IOS内购自动续费订阅测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、IOS 内购类型

1、消耗型商品: 只可使用一次的产品,使用之后即失效,必须再次购买。 示例:抽奖券。
2、非消耗型商品: 只需购买一次,不会过期或随着使用而减少的产品。 示例:游戏 App 的赛道。
3、自动续期订阅: 允许用户在固定时间段内购买动态内容的产品。除非用户选择取消,否则此类订阅会自动续期。 示例:每月订阅提供流媒体服务的 App。
4、非续期订阅: 允许用户购买有时限性服务的产品。此 App 内购买项目的内容可以是静态的。此类订阅不会自动续期。 示例:为期一年的已归档文章目录订阅。

二、IOS内购通用流程

1、用户向苹果服务器发起购买请求,收到购买完成的回调(购买完成后会把钱打给申请内购的银行卡内)
2、购买成功流程结束后, 向服务器发起验证凭证(app端自己也可以不依靠服务器自行验证)
3、自己的服务器工作分4步:

3.1接收ios端发过来的购买凭证。
3.2 判断凭证是否已经存在或验证过,然后存储该凭证。
3.3 将该凭证发送到苹果的服务器(区分沙盒环境还是正式环境)验证,并将验证结果返回给客户端。
3.4 修改用户相应的会员权限或发放虚拟物品

总结:简单来说就是将该购买凭证用Base64编码,然后POST给苹果的验证服务器,苹果将验证结果以JSON形式返回。

三、IOS和安卓自动续费区别

1、除华为外,安卓的自动续费是由后端控制发起每月的扣款(PS:华为的自动续费与iOS相同,由华为自己发起。)
2、iOS是订阅自动续费的商品后,每月由苹果发起扣费,再通知后端,从而进行一系列业务执行

四、IOS沙盒环境自动续费订阅有效期
实际订阅有效期 Sandbox测试有效期
1周 3分钟
1个月 5分钟
2个月 10分钟
3个月 15分钟
6个月 30分钟
1年 1小时

假设项目创建的商品是按月扣费的自动续费商品,则测试人员使用沙盒账号开通该自动续费商品后,每隔5min苹果会自动发起下次扣费,模拟下月的扣费情况,此时可以查看业务商品的到期时间是否延长等。

PS:
一般情况下是每隔5min则扣款一次,假设用户中途有取消订阅,且当前同一商品自动扣费未超过5次,再次使用该沙盒账号订阅后,存在大于5min后执行下次扣费的可能,请QA人员耐心等待下~假设10min后依然未扣款,存在苹果扣费成功但暂未给后端发通知的可能和后端收到通知并未处理业务的可能。

五、沙盒测试关注点

1、一个苹果沙盒账号只能享受一次免费试用期,所以每测试一次都要申请一个新的沙盒账号;
2、一个续费商品对应的一个沙盒账号,测试订阅最多仅能自动续期 6 次;
3、没办法模拟用户手动取消订阅的场景,因为沙盒账号没有办法管理订阅;
4、另外需要注意,沙盒账号的续订,如果一直打开着app,可能过了5分钟续订周期也不会收到通知,最好是杀死app,5分钟后重新启动,这样就会收到续订的通知了;

六、测试场景
  • 购买中断测试

你可以在运行 iOS 14 或更高版本的设备上测试购买中断的情况,只需在 App Store Connect 中为特定测试员的沙盒 Apple ID 启用购买中断即可。启用后,此沙盒 Apple ID 在沙盒环境中从设备上进行的购买尝试将被中断;除非你停用此功能或测试员在 iOS 设备上同意条款与条件,否则购买尝试将一直被中断。此功能可以测试 App 对中断情况的响应,进而确保顾客有顺畅的购买体验。
通常,当顾客需要解决有关 Apple ID 的问题时,购买中断的情况便会出现。示例场景包括:
条款与条件已更新,需要用户同意。
付款方式已过期,需要用户更新。
如果为沙盒测试员启用了购买中断,该沙盒 Apple ID 的所有购买都将被中断;只有解决中断问题后,交易才能完成。在沙盒环境下,测试员需要先同意条款与条件,才能完成购买。若要恢复该沙盒 Apple ID 的购买流程,你需要前往 App Store Connect 停用此功能,或让测试员在 iOS 设备上同意条款与条件。

  • 取消订阅
    在订阅周期内“苹果管理订阅”页面点击取消订阅。
  • 重启订阅测试
    区分订阅已过期、订阅已取消
    模拟手段:
    1、取消订阅后,在订阅周期内去“苹果管理订阅”页面重新订阅。(订阅已取消未过期)
    2、取消订阅后,在订阅周期外去“苹果管理订阅”页面重新订阅。(订阅已取消已过期)
    3、自动续期12次,订阅自动取消后,在订阅周期内去“苹果管理订阅”页面重新订阅。
  • 升级订阅
  • 降级订阅
  • 同级切换
  • 订阅成功自动续期
  • 其他异常情况
    a.用户下单已付款成功后,去核销过程中,用户行为中断
    步骤:
    1、站内首次购买成功,
    2、在点击核销前(支付成功苹果会返回一个弹窗),断开设备网络
    3、再去app点击核销弹窗
    4、恢复网络
    5、检查商品购买是否成功
    期望:
    客户端补单成功

b. 同一个苹果账号,同一个站内账号:自动续费时,服务端已核销苹果回调,验证客户端再次上传凭证时,服务端是否拦截;
c. 同一个苹果账号,同一个站内账号:自动续费时,服务端未收到苹果服务器的回调,此时客户端推送苹果的回调,验证服务端在收到客户端的自动续费凭证时,是否可以正确下发所销售的服务;
d. 超级异常的情况:服务端未收到苹果回调,客户端也未推送苹果回调,对销售服务的下发处理验证
e. 同一个苹果账号不同的站内账号,购买同一个商品(期望:不需要给用户提示购买成功之类的,实际上用户并没有再次购买商品)
f. 同一个苹果账号不同的站内账号,自动续费时,服务内容怎么发放?
h. 退款回调的处理

七、官方文档

IOS沙盒测试APP内购
创建沙盒测试Apple ID

八、风险点

1、IOS VIP订阅服务降级,首次不会扣费,只是切换套餐,第一次订阅并扣费的时间点是在上一个订阅套餐时间结束节点。例:连续包年切换连续包月服务,包年套餐有效期截止至4月30日,4月10日切换包月,这时候不会扣除包月费用,4月30日包年到期后会自动续费包月套餐,并扣除包月套餐费用
2、同一AppleID同一设备,A账号使用了首月优惠资格后,B账号再次购买,面板展示拥有首月优惠资格,但实际支付时扣除的是非优惠价格,付费面板会展示实际付费价格
3、一个AppleID同时只绑定一个撕歌ID,换号开通VIP服务,之前那个号的VIP权益取消,将剩余权益时长续接到新账号
4、VIP自动续费权益时长会受到苹果和撕歌通知服务的实际延迟影响,波动范围1-10min文章来源地址https://www.toymoban.com/news/detail-590292.html

到了这里,关于IOS内购自动续费订阅测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【iOS内购支付】Uniapp拉起苹果内购支付注意事项、实现步骤以及踩过的坑(手把手教程)

    Hello!又是很长时间没有写博客了,因为最近又开始从事新项目,也是第一次接触关于uniapp开发原生IOS应用的项目,在这里做一些关于我在项目中使用苹果内购支付所实现的方式以及要注意的事项,希望能给正在做uniapp开发ios应用需要使用苹果内购支付的小伙伴一些帮助! 原

    2023年04月25日
    浏览(58)
  • iOS自动化测试工具-tidevice

    在iOS测试过程中,经常会需要查看设备udid、查看包名,安装和卸载应用,获取设备截图,获取性能数据等操作,Android有丰富的adb命令可以使用,iOS的tidevice工具就类似于Android的adb,可以提供这些功能; 一直以来也没有能够直接获取iOS性能数据的工具,tidevice可以方便的获取

    2024年01月22日
    浏览(55)
  • 【iOS内购支付,无需插件】Uniapp拉起苹果内购支付注意事项、实现步骤以及踩过的坑(手把手教程)

    Hello!又是很长时间没有写博客了,因为最近又开始从事新项目,也是第一次接触关于uniapp开发原生IOS应用的项目,在这里做一些关于我在项目中使用苹果内购支付所实现的方式以及要注意的事项,希望能给正在做uniapp开发ios应用需要使用苹果内购支付的小伙伴一些帮助! 原

    2024年02月09日
    浏览(55)
  • 如何使用IOS自动化测试工具UIAutomation

    这篇文章主要介绍了UIAutomation使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值 第一部分: 熟悉Instruments的UIAutomation. 第二部分: 控件的获取及操作 第三部分: 自定义自动化脚本 xcode中自带的Instuments工具可以用来进行APP的自动化测试, 以及用于进行内

    2024年02月03日
    浏览(76)
  • iOS性能指标和性能测试工具

    作为一名软件测试工程师,在测试 iOS 应用的性能时,需要关注以下几个方面: 1. 响应时间:应用的启动时间、页面加载速度、接口响应时间等。 2. CPU 使用率:应用在各种操作下的 CPU 占用情况。 3. 内存使用:应用在各种操作下的内存占用情况。 4. 网络性能:应用在各种

    2024年02月13日
    浏览(54)
  • Android/iOS性能测试工具-SoloX

    SoloX - Android/iOS性能数据实时采集工具。支持收集被测应用CPU、内存、FPS、流量等性能数据,进行图表化展示。 官网:GitHub - smart-test-ti/SoloX: SoloX - Real-time collection tool for Android/iOS performance data.(Android性能测试android performanceiOS性能测试ios performance移动端性能测试mobile perform

    2024年02月03日
    浏览(39)
  • 史上最全的 iOS 各种测试工具集锦!

    2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)_软件测试刷题小程序-CSDN博客 文章浏览阅读2.9k次,点赞85次,收藏12次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、

    2024年04月09日
    浏览(45)
  • MQTT记录(概述,docker部署,基于spring-integration-mqtt实现消息订阅与发布,客户端工具测试)

    需要spring-boot集成spring-integration-mqtt代码的直接跳到第5部分 1.1 MQTT是什么呢? message queue telemetry translation 是一种基于发布与订阅的轻量级消息传输协议.适用于低带宽或网络不稳定的物联网应用.开发者可以使用极少的代码来实现物联网设备之间的消息传输.mqtt协议广泛应用于物

    2024年02月12日
    浏览(47)
  • Electron中苹果支付 Apple Pay inAppPurchase 内购支付

    正在开发中,开发好了,写一个完整详细的过程,保证无脑集成即可 一般情况下,在你看这篇文章的时候,说明你已经开发的app差不多了。 但是要上架app到Mac App Store,则要在appstoreconnect这个地方创建一个app。 在此处创建一个有两种方法:一是 在mac上下载transfore的一个官方

    2024年01月19日
    浏览(39)
  • Unity接入IAP内购(Android,IOS)最新流程,第一篇:内购接入

    你好! 这将是一个系列的文章 第一篇 介绍客户端里支付的调起以及购买。 第二篇 介绍后台对购买结果的验证以及发货(IOS)。 第三篇 介绍后台对购买结果的验证以及发货(Android)。 第四篇 介绍后台对内购退单问题的处理(IOS欺诈检测以及欺诈信息反馈)。 我们是用的

    2024年04月13日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包