背景提示:数字类产品(比如购买会员等不需要配送实物的商品),Apple规定必须使用苹果IAP应用内支付,给Apple分成30%。打包的时候不要勾选微信或支付宝等其他支付方式。如果你提交的包里包含了微信支付宝等支付的sdk,即使没使用,Appstore也会认为你有隐藏方式,以后会绕过iap,不给Apple分成,因此拒绝你的App上线
- 应用中如果没有交易功能,不要包含任何支付相关模块和任何支付相关的js代码
- 应用中如果只包含虚拟物品交易,只能使用苹果应用内支付(IAP),不能使用支付宝和微信支付
- 应用中如果包含实物交易,可以包含支付宝和微信支付
使用HBuilderX提交云端打包
提交苹果商店审核时,提示“有其他支付并隐藏功能被拒”或者“报PGPay SDK不允许上架的问题”,请按以下方法处理:
- 如果应用没有交易功能,在manifest.json的“(App)模块权限配置”页的“打包模块配置”项下不要勾选“Payment(支付)”,重新打包提交
- 如果应用只包含虚拟物品交易,在manifest.json的“(App)SDK配置”页的“支付”项下勾选“Apple应用内支付”,不要勾选支付宝和微信支付。这时需要和苹果沟通,说明的大概意思是:PGPay SDK 的PGPay只是个名字而已,并不是什么支付SDK,并没有违反苹果支付相关的政策。
- 如果应用包含实物交易,可以使用支付宝和微信支付。这时需要和苹果沟通,说明应用使用支付功能的场景。
使用5+ SDK本地离线打包
按照签名的规则确定应用包含的支付模块,按以下方法确认:
- 确定工程中是否有微信和支付宝支付的功能,如果没有把不需要的微信和支付宝的相关库删除,删除时参考离线sdk包里的Feature-iOS.xls文件中Payment模块的配置。
注意:微信SDK有2个,一个是带支付的(libWeChatSDK_pay.a),一个是不带支付的(libWeChatSDK.a),删除时,删除带支付的。但是工程中有用到微信其他的功能需要添加libWeChatSDK.a库以免编译报错 - 如果工程中没有微信和支付宝的功能,但是有苹果支付的功能需要liblibPayment.a库和libIAPPay.a,只有libIAPPay.a库,工程编译会报错。
- 如果工程中也没有苹果支付,那么把liblibPayment.a库和libIAPPay.a都删除,删除时参考离线sdk包里的Feature-iOS.xls文件中Payment模块的配置。
- 如果工程中有libBaiduWalletSDK.a,libpingpppay.a和libpingpp.a这3个库,Pingpp.bundle和BaiduWalletSDKBundle.bundle这2个文件,把它们都删除。
- 如果删除过程中编译报“_SKStoreProductViewController”这么一个错,需要在工程中添加系统库StoreKit.framework。
- 如果工程中没有支付功能需把相关的支付的js代码删除。
- 查看工程中PandoraApi.bundle中feature.plist文件,把Payment节点下的extend节点里的项,按自己的业务情况删除;比如,业务中没有支付宝支付,那就把“alix”这项删除,没有微信支付,就把“weixin”这项删除,如果没有支付功能,把Payment整个节点删除。
- 如果还是提示“有其他支付并隐藏功能被拒”或者“报PGPay SDK不允许上架的问题”,需要和苹果沟通,说明的大概意思是:PGPay SDK 的PGPay只是个名字而已,并不是什么支付SDK,并没有违反苹果支付相关的政策。
提示这个“报PGPay SDK不允许上架的问题” 在2.3.3.20190924之后的版本会把名字改掉,以便不再报这个上架的问题。
136 个评论
要回复文章请先登录或注册
乐仔
初樰
Shawket
Shawket
2***@qq.com
bigpaul
有问
y***@qq.com
6***@qq.com
小人物1992