介绍
最近开发的一款APP上架被驳回了,理由是:
上架的APP是培训类,里面金牌视频课程需要购买,Android端使用支付宝,微信支付。
苹果规定
数字化内容、App功能以及服务等,需要使用内购
真实世界中的服务(如一个俱乐部的会员资格)或物品(食物、衣物等)都不能使用内购,可以使用Apple pay、微信支付等
用几句话说明白IOS内购:
1、购买的商品是虚拟的
2、这虚拟的商品要发布到苹果服务器
3、ios app 支付的时候,选择发布到苹果服务器的产品,付款,完成交易,苹果收30%。
4、不用开发虚拟币,不用个人钱包功能
5、服务器可开发,可不做开发,但是安全角度要开发。
开发方式
IOS 内购支付两种模式:
内置模式
服务器模式
内置模式的流程:
app从app store 获取产品信息
用户选择需要购买的产品
app发送支付请求到app store
app store 处理支付请求,并返回transaction信息
app将购买的内容展示给用户
服务器模式的流程:
app从服务器获取产品标识列表
app从app store 获取产品信息
用户选择需要购买的产品
app 发送 支付请求到app store
app store 处理支付请求,返回transaction信息
app 将transaction receipt 发送到服务器
服务器收到收据后发送到app stroe验证收据的有效性
app store 返回收据的验证结果
根据app store 返回的结果决定用户是否购买成功
上述两种模式的不同之处主要在于:
交易的收据验证,内建模式没有专门去验证交易收据,而服务器模式会使用独立的服务器去验证交易收据。内建模式简单快捷,但容易被破解。服务器模式流程相对复杂,但相对安全。
具体的开发参考下面的文章:
iOS 支付 --苹果内购解读
java服务器端开发处理流程
配置,发布,IOS端开发内购流程(手把手图文教程)