首页 > 科技未来 > 内容

支付系统设计:应用内支付(5)

发布于:2024-06-18 编辑:匿名 来源:网络

为什么选择IAP?相对来说,应用内支付的用户体验与微信支付、支付宝还有一定差距,但为什么要发展应用内支付呢?这与苹果的AppStore审核政策有关。

在官方(App Store Review Guidance)中,有以下观点: 1.2 应用程序利用除应用内购买API(IAP)之外的系统来购买应用程序中的内容、功能或服务将被拒绝。

在应用程序内使用非 IAP 系统购买内容、功能或服务将被拒绝。

11.3 使用IAP购买实体商品或在应用程序之外使用的商品和服务的应用程序将被拒绝。

IAP购买实物商品或App外的商品或服务将被拒绝; 11.4 使用 IAP 购买积分或其他货币的应用程序必须在应用程序内消耗这些积分。

通过 IAP 购买的积分或其他货币只能在应用程序内使用。

这就提出了这个问题。

如果您要购买的服务既在IOS内部使用,又在Android等IOS系统之外使用,应该按照规则11.2还是规则11.3执行?例如,在视频网站上,视频可以在IOS和Android上观看。

需要通过IAP购买吗?苹果在这里采取了一种模糊的方法。

对于爱奇艺和腾讯视频,IOS上的会员购买只能通过IAP支付。

这与苹果的审核有关。

IAP支付流程 IAP支付的一般开发流程首先需要做一些准备工作,包括:在developer.apple.com上配置一个App ID,并使用该ID生成并安装相应的Provisioning Profile文件。

登录 iTunes Connect 并使用 App ID 创建新应用程序。

在应用中创建应用内支付项目,设置价格和产品ID,以及购买介绍和截图。

在沙盒中添加一个用于支付的测试用户,并填写相关税务、银行、联系信息。

完成这些准备工作后,就可以进入正式开发了。

这里不讲开发代码。

流程如下:用户选择要购买的内容,点击购买按钮;用户通过App Store账户验证Apple服务器。

用户请求Apple服务器验证用户的账户是否被扣款,Apple向用户返回购买成功信息。

该软件接收并显示用户的购买信息。

老手都可以看出,这里有很多陷阱。

用户访问AppStore时使用的是Apple账户,而不是应用系统账户。

换句话说,我们不知道谁在购买这些内容。

例如,应用程序中有两个帐户A和B。

使用A账户登录后,我在IAP上买了东西。

然后我用B账号登录,也在IAP上买了东西。

这两次购买使用了同一个 Apple 帐户。

苹果不会告诉你哪个账户付了钱。

账户陷阱对于单次购买来说不是问题,但是对于订阅来说,就需要小心处理了。

支付系统设计:应用内支付(5)

从上面的流程可以看出,苹果服务器与客户端打交道,似乎没有涉及到应用服务器。

客户端收到Apple的返回信息后,才能将此信息转发给应用服务器。

如果用户从未在手机上打开应用程序,应用程序服务器将永远不会收到通知。

幸运的是,苹果后来提供了验证功能。

应用服务器可以将收到的返回信息(加密字符串)发送给Apple服务器进行验证和解密。

IAP 订阅 IAP 订阅是另一个大陷阱。

官方文档在这里。

内容不多,但还有很多没有解释清楚。

续订周期IAP的计算主要是针对音乐、电子书等内容的定期订阅提供的。

一般情况下,期限是按月计算的。

苹果以自然月计算权益周期。

例如,如果您在1月3日购买了权利,则该权利将于2月3日到期,您需要在此之前完成续订。

那么问题来了,1月31日购买的权益什么时候到期呢?按自然月计算,该福利将在3月1日之前到期。

如果在2月和3月续订,4月则享受到4月30日。

自动续订应用开发应该不需要担心续订的细节。

苹果会自动处理。

权利到期前10天,苹果会检查用户账户是否可以扣款以及产品价格是否发生变化。

苹果将??在权利到期前 24 小时开始扣款。

如果失败,则会重试多次,直至成功。

问题是,这种重试会在用户的权限过期后持续很短的一段时间。

苹果没有说明这段时间是否应该被视为拥有权利,但开发者需要注意如何处理。

免费试用 免费试用不是强制性的,但它可以帮助用户决定是否值得购买该产品。

免费试用期在 itunes connect 中设置。

当用户第一次购买这个东西时,客户收到的收据中包含免费试用信息。

当免费期即将到期时,苹果发起了第一次扣费。

整个过程和自动续费类似,唯一的区别是第一个月是免费的。

回执验证 客户端收到回执后,需要提交给服务器进行处理和权限激活。

这就带来了一个问题:Receipt应该在客户端解析还是在服务器端解析?当然,需要在服务器端进行处理,以防止越狱后的一些插件,如IAP Cracker、IAP Free等伪造交易凭证来欺骗苹果服务器并激活权限。

另外,还需要注意的是,需要HTTPS和参数签名来保证客户端和服务器之间的通信安全。

服务器收到Receipt后,首先验证请求的有效性,然后将Receipt发送到Apple服务器进行验证和解析。

收到Apple处理结果后,对Receipt中的user_id、product_id、purchase_date、transaction_id等进行验证和处理。

IAP破解与防御 由于IAP验证主要在苹果服务器和手机客户端进行,并且使用域名。

这确实为攻击打开了大门,而不仅仅是漏洞。

早期的IAP内购解锁工具IAP破解器在破解IAP方面相对简单粗暴。

写过IAP程序的人都知道,程序中基本都是用transactionState来判断交易是否成功。

transactionState 有四种状态: SKPaymentTransactionStatePurchasingSKPaymentTransactionStatePurchasedSKPaymentTransactionStateFailedSKPaymentTransactionStateRestoredSKPaymentTransactionStatePurchased 表示购买成功。

只要修改这个变量的值,如果客户端应用程序直接根据交易状态处理业务流程,就会收到这条假的交易成功消息,然后用户就可以不用花钱就得到购买的商品。

这个过程甚至不需要访问互联网。

另一种工具 IAPfree 功能更强大,但安装和使用也更复杂。

它通过修改DNS,让客户端访问黑客提供的服务器而不是访问苹果服务器,从而实现所谓的MITM中间人攻击。

当用户在客户端触发购买流程时,会被引导至伪装的苹果服务器,不会扣款,而是直接返回扣款成功的收据。

用户无需支付任何资金,客户可以获得完整的收据。

如果在客户端处理收据验证是没有问题的。

为了防止用户使用的设备被屏蔽,这些软件甚至可以提供伪造UDID的功能。

为此,苹果特别表示,用户购买信息必须在服务器端进行验证。

验证内容包括收据签名、证书、制造商信息等,确保收据正确后才能授予权利。

如果发现欺诈行为,该用户将被封锁。

两种账户系统 Apple Pay的账户系统当然是基于Apple ID的,它允许用户在多个设备上共享一个账户。

一台设备上通常只有一个活动帐户。

但对于应用系统来说,大多数都允许多个账户登录,这对于续费来说是一个大问题。

用户使用a账号登录后,发起续费并获得权限。

然后我用B账号登录,显然A的权限不会派生给B。

过几天A就开始续费了。

续费后,切换到B账户登录。

客户端使用B账户登录时会收到续费回执,并发送给应用服务器。

那么这是谁的续订请求呢?当然是A了。

在该apple ID发起的续费请求中,所有收据都会有相同的原始交易号original transaction Id。

当用户发起订阅时,需要记录ID和账户的关系。

每次续费,都需要解析收据后根据原始交易号从这里获取真实的充值账户。

客户端提交的用户ID不能作为凭证。

还是这个坑,如果登录B账户后也发起订阅请求会怎样?这个调用将会失败,所以你需要阻止用户提出这样的请求,或者设置该产品的多个副本供用户购买。

分享、定价和国际化 iTunes 中的产品定价必须是税前的,苹果与商家之间的分享也是按税前基础计算的。

商家给出一个主要销售国家和地区的价格(比如中国基本上就是中国),即基准价。

对于其他地区的销售价格,苹果会根据当前汇率自动将其转换为当地货币。

当然,您也可以自行修改这些国家或地区当地设定的价格。

目前,它支持国家。

还要特别注意版权问题。

如果基础价格调高,用户下次续订时需要用户确认。

如果价格下调,则无需用户确认,直接扣款。

苹果对商户的产品定价体系有群组的概念,与国内的定价体系类似,如白金会员、黄金会员、VIP等。

在同一个群组中,用户只能选择一个级别,例如用户是白金会员或白金会员。

您要么是金卡会员,要么同时是金卡会员。

在同一群体中,如果用户订阅超过一年(天),商家可以获得更高的用户收入分成,目前为85%。

此订阅期不包括免费试用期。

还有 60 天的宽限期。

也就是说,在这一年里,如果用户停止续费再开始续费,只要不续费的时间不超过60天就可以。

目前IOS 10.0版本中使用的陷阱较多。

该版本存在与 IAP 相关的缺陷。

先记录一下:沙盒环境下,无法进行退订操作。

只能在线模拟。

因此,在设计和开发产品时,尽量不要依赖退订操作,也不应该依赖这个操作。

在沙箱环境下,部分收据可能收不到交易ID。

网上暂时还没发现这个问题。

Apple 提供两种格式:单一收据和清单收据。

建议使用列表数据,但问题是苹果不知道这个列表收据的最大长度。

Android IAP 嗯,用这个话题来总结一下不太好。

在IOS上使用Apple Pay是被迫的,但在Android上使用IAP还有什么意义呢?支付宝和微信支付拥有如此庞大的用户群,接入非常方便,而且费用比IAP便宜很多。

如果您有访问android IAP的经验,我期待分享。

相关阅读支付系统设计:支付系统的账户模型(1)支付系统设计:对账处理(2)支付系统设计:银行卡支付(3)支付系统设计:卡绑定、签名与身份验证(4)雷锋网注:本文由人人都是产品经理社区作者@凤凰品牌老熊(微信公众号:shamphone)原创发布。

凤凰牌老熊,程序员&架构师。

曾就职于富龙、三星(中国)研究院及国内一些大型互联网公司。

2006年加入爱奇艺,负责数据仓库和支付系统建设。

文章未经许可不得转载。

支付系统设计:应用内支付(5)

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 21上半年北美风险投资同比增长116%至1550亿美元,新增独角兽161家

    21上半年北美风险投资同比增长116%至1550亿美元,新增独角兽161家

    今日头条Crunchbase数据显示,北美初创企业2019年共融资1亿美元上半年,创下历史新纪录。 同比、环比增速分别为66%、66%。 同时,还添加了新的独角兽。 后期融资 近两个季度,北美后期融资蓬勃发展。 融资数量和总额均有所增加,金额已超过全年总额。 今年上半年,北美地区后

    06-17

  • 如何对隐形人使用抖音?

    如何对隐形人使用抖音?

    “你看这烤鸭,外焦里嫩,现在下单还有优惠哦!”盛先生“听”着主播在电话里大力喊叫,轻敲屏幕两下,成功下单。 对于很多人来说,这只是通过直播“剁手”的常见经历带货。 然而,对于以盛先生为代表的视障群体来说,这样“轻松”的使用场景曾经是一种奢侈。 曾几何时,盲人

    06-18

  • AI智慧庭院解决方案提供商“海森堡机器人”获数百万美元天使轮融资,由DCM

    AI智慧庭院解决方案提供商“海森堡机器人”获数百万美元天使轮融资,由DCM

    投资界(ID:pedaily)领投 7月12日消息,AI智慧庭院解决方案提供商“海森堡机器人”(以下简称“Heisenberg Robotics”)海森堡机器人公司)获数百万美元天使轮融资,本轮由DCM领投,江门创投跟投,万石资本担任本轮融资的唯一投资方。 融资将用于继续加大AI视觉算法等核心技

    06-17

  • 海尔民族时尚家电节:3大差异化优势赋能全场景智慧生活

    海尔民族时尚家电节:3大差异化优势赋能全场景智慧生活

    随着文化自信时代的到来,不难发现我们总是买进与民族时尚相关的品牌。 国民奶糖大白兔与气味图书馆联手推出“大白兔”香水,还没闻到就吸引了无数网友的支持。 此前,RIO六神鸡尾酒17秒售空一瓶,民族风情罐1天售空56罐。 宣布售空……每一个民族品牌潮流都能引发我们的购买

    06-18

  • 乐准智信完成Pre-A轮3500万元融资,三诺生物领投

    乐准智信完成Pre-A轮3500万元融资,三诺生物领投

    乐准智信近日宣布完成1万元Pre-A轮融资。 本轮融资由三诺生物领投,深瑞享源跟投,北拓资本负责交易。

    06-18

  • 15亿,上海半导体设备材料二期基金完成首关

    15亿,上海半导体设备材料二期基金完成首关

    投资圈-解码LP消息,近日,普尔科投资宣布旗下子公司上海半导体设备材料产业投资管理有限公司(简称“半导体设备材料”)新一期基金已完成首通,首通规模15亿元,并已在中国基金会协会登记,启动第一批项目投资。 该基金为上海半导体设备与材料私募股权投资基金(简称“二期基

    06-18

  • 国行版PS5起售价3099元,黄牛生意可要“爽”了

    国行版PS5起售价3099元,黄牛生意可要“爽”了

    4月29日,PlayStation中国发布会终于来了。 自2019年11月19日全球发售以来,由于疫情和产能不足,PS5的价格一直居高不下,甚至首批价格被炒至近10元。 今天发布的国行版PS5无疑是很多玩家“走出溢价汪洋”的希望。 发布会上公布了国行版PS5的官方售价。 光驱版售价人民币1,00

    06-21

  • 抖音收藏功能即将上线,首批权限将向知识创造者开放

    抖音收藏功能即将上线,首批权限将向知识创造者开放

    据投资界9月9日消息,为了更好地支持创作者传授知识和用户学习知识,抖音有新产品行动。 9月9日,在“DOU知识计划”2.0发布会上,抖音宣布即将推出收藏功能,让知识短视频的创造和学习更加系统化。 据抖音产品经理介绍,第一期的收藏功能支持抖音PC端创作、App端查看。 功能上

    06-17

  • SEMI发布半导体晶圆设备信息安全标准加速智能制造

    SEMI发布半导体晶圆设备信息安全标准加速智能制造

    据台媒《经济日报》报道,国际半导体工业协会(SEMI)于12月28日发布首个半导体晶圆设备信息安全标准,预计将加快高技术制造业安全化、智能化、数字化步伐。 据台湾媒体报道,国际半导体工业协会(SEMI)于12月28日发布首个半导体晶圆设备安全标准,有望加快高科技制造安全化

    06-08

  • 智联招聘正式提交IPO文件并在纽交所挂牌上市,

    智联招聘正式提交IPO文件并在纽交所挂牌上市,

    智联招聘正式递交IPO文件并在纽交所挂牌上市。 对于 ZPIN。 发行价格区间为每股12.5-14.5美元。

    06-18

  • 氪空间完成10亿元融资,IDG资本、歌斐资产、逸星资本联合领投,

    氪空间完成10亿元融资,IDG资本、歌斐资产、逸星资本联合领投,

    据投资界5月15日消息,氪空间宣布完成10亿元融资,由IDG资本、歌斐资产、耀明资本领投。 共同主导投资。 本次融资后,氪空间确立了打造“全周期企业办公服务商”的新战略。 在新战略指导下,氪空间将完成从“联合办公”到“综合办公服务+新资产管理”的商业模式升级,氪空间

    06-18

  • Twitter靠什么统治国家?数字先锋爱沙尼亚启动AI治理

    Twitter靠什么统治国家?数字先锋爱沙尼亚启动AI治理

    爱沙尼亚是一个波罗的海国家,拥有1万人口和1万公顷土地,其中一半是森林。 然而,对于一个小国来说,爱沙尼亚在国际舞台上却令人印象深刻。 该国政府已将数字化视为节省成本和平衡权力的手段,吸引了世界各地领导人、学者和风险投资家的关注。 据报道,数字化进程每年为爱沙

    06-18