首页 > 科技未来 > 内容

支付系统设计:应用内支付(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)

站长声明

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

标签:

相关文章

  • 国内自主研发的隐私计算TEE技术通过金融科技产品认证,蚂蚁集团主导研发的

    国内自主研发的隐私计算TEE技术通过金融科技产品认证,蚂蚁集团主导研发的

    HyperEnclave 1.0,蚂蚁集团研发的国内首个金融级信任创建TEE系统,近日通过金融科技产品认证北京国家金融技术认证中心。 TEE功能 47个项目(CA与TA交互、数据存储、加解密算法等)和TEE安全(硬件安全、系统软件层安全等)全部通过测试,达到金融机构的功能和安全标准级产品

    06-18

  • 霸屏热搜!上海万圣节变身“中国万茎节”,人均疯狂值+10086

    霸屏热搜!上海万圣节变身“中国万茎节”,人均疯狂值+10086

    今年的万圣节尤为不同。 主旋律是人均疯狂的三维cosplay。 “向太”亲临、“那个姐姐”打开麦克风、“李贵在哪儿”阴阳、“知王”视察、“安小鸟”摘荷花、“空姐晓彤”与你共舞……万圣节是个外国节日在中国已经达到前所未有的本土化程度,外国妖魔鬼怪只能靠边站。 娱乐圈的

    06-21

  • “基因编辑婴儿”  案宣判!贺建奎一审获刑三年,罚款 300 万

    “基因编辑婴儿” 案宣判!贺建奎一审获刑三年,罚款 300 万

    “基因编辑婴儿”案宣判!贺建奎一审被判处三年有期徒刑,并处罚金300万。 曾经震惊社会、轰动一时的“基因编辑婴儿”事件有了新的重大进展。 贺建奎被判处有期徒刑三年,并处罚金人民币1万元。 据新华社报道,12月30日,“基因编辑婴儿”一审案件在深圳市南山区人民法院公开

    06-17

  • iPhone 12 采用系统级封装模组,日月光或成大赢家

    iPhone 12 采用系统级封装模组,日月光或成大赢家

    台湾商报消息 苹果有望在今年下半年推出首款支持 5G 的 iPhone 12,因为内部元器件和5G手机的结构设计与4G手机明显不同,根据供应链的说法,苹果在设计中使用了大量的系统级封装(SiP)模块,这意味着它将发布大量的SiP明年封测OEM订单。 此外,无线蓝牙耳机AirPods也将开始引

    06-06

  • 仅使用 Apple Watch 来计算步数和查看通知?这些快捷键让你的手表更智能

    仅使用 Apple Watch 来计算步数和查看通知?这些快捷键让你的手表更智能

    你用过iPhone的“快捷键”吗?只需一键,即可帮我们扫描二维码拼图拨打电话、翻译、阅读、查快递。 原本复杂的操作,通过《快捷指令》,一键一声,轻松完成。 如此便捷的操作不只限于iPad和iPhone,Apple Watch也可以使用《快捷指令》,让原本繁琐的操作变得更加简单。 苹果手

    06-21

  • 拒绝国际漫游天价,vivo Xplay5促销i漫游帮你省钱

    拒绝国际漫游天价,vivo Xplay5促销i漫游帮你省钱

    上周美国队长vivo旗舰店)及全国各大vivo线下门店、专柜正式开售,再次激发消费者对高端旗舰手机的热情。 据了解,目前该机在线下非常受欢迎,供大于求,而部分线上平台已经售空,或将再次刷新国产高端旗舰机的销售新纪录。 同时,vivo还在手机上更新了一项新功能——i漫游,

    06-18

  • 韩媒:三星正在研究用于芯片生产的聚焦环新材料

    韩媒:三星正在研究用于芯片生产的聚焦环新材料

    据韩媒TheElec报道,三星正在研发一种用于制造聚焦环的新材料。 聚焦环是用于晶圆制造蚀刻过程的商业产品。 它将晶圆固定到位,以保持等离子体密度并防止晶圆侧面受到污染。 过去,石英和硅被用来制造聚焦环。 但随着先进晶圆制造中干法蚀刻而非湿法蚀刻的使用增加,对由碳化

    06-08

  • 青莲百奥完成首轮数千万元融资,德联资本独家投资

    青莲百奥完成首轮数千万元融资,德联资本独家投资

    投资圈(ID:pedaily)3月30日消息,专注于创新蛋白质组学检测技术的北京青莲百奥生物科技有限公司,清联百奥股份有限公司(以下简称“清联百奥”)完成首轮数千万元融资。 本轮融资由德联资本独家投资,探针资本担任独家财务顾问。 募集资金将用于升级打造“一站式蛋白质组学

    06-17

  • 艺术培训机构君岭获远宁投资近亿元B轮融资

    艺术培训机构君岭获远宁投资近亿元B轮融资

    据投资界9月4日消息,近日,艺术培训机构君岭梦联教育宣布完成远宁投资领投明投、友诚创投紧随其后。 1亿元B轮融资。 据悉,本轮融资将主要用于升级硬件设施、改善员工福利以及引进人才。   君岭梦联教育创始人和首席执行官肖君表示:“本次融资的部分资金将用于升级硬件和

    06-17

  • 2023中国实体经济发展大会在东莞召开

    2023中国实体经济发展大会在东莞召开

    9月23日,中国实体经济发展大会由国民党中央、政协广东省委员会主办,东莞市人民政府承办。 政府和国民党广东省委员会。 会议主题为“聚焦技术创新,赋能先进制造”。 制造业作为国民经济的支柱产业,是建设现代化经济体系的重要基础,是国家创造力、竞争力和综合国力的重要体

    06-18

  • 石药集团医药部重组,打造400亿巨头

    石药集团医药部重组,打造400亿巨头

    近日,石药创新药业股份有限公司(原名:石药新诺维药业有限公司,以下简称“新诺维”)发布公告称,公司拟以发行股份及支付现金方式收购石药集团北科(山东)生物制药有限公司(北科生物)%股权,并筹集配套资金。 本次交易预计构成重大资产重组,不构成重组上市。 公司股票

    06-17

  • 华通集团与平安证券启动设立15亿元静态交通产业基金

    华通集团与平安证券启动设立15亿元静态交通产业基金

    据投资界5月24日消息,《青岛华资平安静态交通产业基金合作备忘录》正式签约,华通集团与平安证券将设立首期总规模15亿元,期限为10年期的产业基金。 据了解,该基金专门用于支持停车场产业化投资。 将把全国最先进的智慧停车系统和管理模式引入青岛市,并引入平安“汽车生态

    06-18