扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、苹果对于支付相关的审核规则
专注于为中小企业提供成都网站制作、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业神池免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
详细见[App Store 审核指南 - Apple Developer 。简单的一句话解释:就是非实物的产品的支付必须要走苹果的IAP支付通道,否则你的APP在上架审核的时候就会被appstore拒绝,从而不允许上架到appstore。
我们再来看一下苹果3.1.1条款,因为这个详细介绍了苹果支付的一些规则,以及不同的类型产品在使用苹果支付的时候的一些注意的事项,简单理解使用苹果支付应该在写清楚购买的类型,而且不允许出现引导用户使用其他支付的的字眼,如果是订阅类型的APP,提供免费使用功能的,应该描述清楚,订阅产品类型,周期,费用等等,不能含糊不清楚
如果已经审核通过上架的非实物交易APP,在苹果人员复查的过程中,发现使用第三方支付如(微信、支付宝、银行卡等)也会会再次下架
谈到苹果的支付,就必须要提一下微信的公众号的赞赏业务和小程序游戏的充值。
微信公众号赞赏整个事情经过是这样的
同样的微信里面小程序游戏的充值服务也是属于虚拟的服务,如果要在iOS端使用的话也是需要走苹果的师傅
那么苹果公司为什么对于这一块要求这么严格呢?因为苹果作为一个分发的平台要抽取30% 的收入,据相关的数据表明 2008 年 App Store 推出至今,开发者已获得了逾 1550 亿美元的收入,而仅2019一年的收入就占到了四分之一 。
由此可见这一块对于苹果的整体服务来说也是一块亮眼的收入,所以苹果在这一块来说,可以说是相当的严格
2、常见的一些问题
很多APP之所以在上架时候被拒绝,我觉很多时候都是不了解苹果的审核机制,特别是在支付这一块,如果APP涉及到支付相关问题,一定得先确定自己APP的内容是否涉及到虚拟物品相关,如果涉及首先还是需要按照苹果审核要求操作。
3、有什么比好的较解决方案
如果你的产品属于游戏类,或者知识付费类(例如得到APP,极客时间之类的)或者影音娱乐类(喜马拉雅APP,优酷视频,腾讯视频,爱奇艺)、又或者是直播类(快手、映客,陌陌等)这些是无法避免的必须要走苹果的IAP的支付通道。
如果你的APP类似知识星球APP,或者幕布APP,石墨文档之类的,APP仅仅是用于提供服务,那么付费的的操作可以在微信或者网页端实现从而避免在appstore付费。
还有就是审核的时候针对测试账号使用苹果支付,但是审核通过之后,开放微信和支付宝等第三方的支付
一,iOS端开发。
如果购买成功,我们需要将凭证发送到服务器上进行验证。考虑到网络异常情况,iOS端的发送凭证操作应该可以持久化,如果程序退出,崩溃或网络异常,可以恢复重试。
二,服务器端开发。
服务器后台的工作比较简单,分为4步:
1,接收iOS端发来的购买凭证。
2,判断凭证是否已经存在,是否验证过,然后,存储该凭证。
3,将该凭证发送到苹果的服务器验证,并将验证结果返回给客户端。
4,如果需要,修改用户相应的会员权限。
考虑到网络异常的情况,服务器的验证应该是一个可恢复的列队,如果失败了,应该进行重试。
邓白氏编码下来之后,现在我们就可以走到付款流程,购置账号了!
1.登陆苹果账号,加入苹果开发者
2.按照指示,一步步点击进入就行了,反正你也看不懂(或者懒得看这些英文)。我们直接进入主题
3.继续点击进入( 这些步骤都是在你注册完apple id,并且完成公司邓白氏编码后才这么操作的 )
现在选择99美元(688RMB)的公司账户,点击下一步
5.按照要求,填写相关信息,不懂的留言。
补全所有信息就可以点击下一步了
6.确认刚才填入的信息是否正确,然后继续点击下一步。
7.最后苹果公司就开始受理你的申请请求了,审核很快,超级快,大概我提交完事半个小时就来电话了,和我确认相关信息 ,问了我公司名称,邮箱,电话(外加一个紧急联系人姓名电话邮箱,临时加的)。
8.电话确认完毕后,苹果公司会发送一份付款邮件给你的邮箱。点击进入就可以到付款流程了。
9.然后就是与苹果公司的条款协议,同意就行了。
10.确认要购买的账号,时间价格。
11.然后就进入到付款界面了,苹果公司只接受2种付款方式,一种就是VISA卡,另外一种是万事达卡(MasterCard),都可以在国内银行办理(怎么办理百度就出来了)。
填完就可以提交订单了,之后苹果公司就会在你的VISA卡中扣款了,发票会已ems邮件的方式寄送给你。
你的邮箱中也会收到你的订单。
扣款完成你就会收到苹果公司发来的扣款邮件(含附件,电子收据),以及成为开发者的邮件。
最后恭喜你,苹果开发者账号已经购买成功!
好了,一整套的开发者账号购置就算结束了,你学会了吗?
1.首先是最常见的微信订单号重复的问题,这里做的操作就是在拿到服务器的订单号之后,APP端随机在后边追加两个字符串,这样就可以避免这个问题.
2.如果服务器生成的订单号过长的话也会调起失败,返回:订单号长度错误.
3.第三个问题相对于前两个来说比较隐蔽,刚跳转到第三方支付之后,不在第三方如:微信,支付宝做任何操作,然后通过双击home键或者点击左上角的方式返回自己的应用,这时候是收不到任何的回调,这样造成的结果就是程序界面仍然停留在收银台页面,这样用户继续点击就会造成重复下单的BUG,是一个比较麻烦的问题.初步想到的解决办法即时性的都不能解决.最后想到了一个稍微讨巧的办法,首先如果这个程序是通过支付跳转到第三方的,就加一个布尔值apinPayGO,当程序从后台进入前台时就发出通知,.经过实际测试,支付的回调实在系统的运行方法之后的,收银台页面在接收到该通知之后,延迟一秒执行方法,判断系统这次从后台进入前台是否经过了支付第三方的回调方法,如果经过了支付第三方的回调方法就不做任务操作,如果没经过第三方的回调方法,证明用户在跳转到第三方时没做任务操作,直接通过iOS系统返回到自己的应用了,这里就把页面跳转到待支付页面,然后开始倒计时!
- (void)applicationWillEnterForeground:(UIApplication*)application{
NSLog(@"EnterForeground");
if(self.apinPayGO) {
NSNotificationCenter*center = [NSNotificationCenterdefaultCenter];
[centerpostNotificationName:@"payReturn"object:nil];
}
}
4.创建订单,支付中间的时间控制问题.
用户点击创建订单,服务器设置一个超时时间十分钟,需要用户在十分钟内完成支付,直接去操作是没什么问题.但是如果不直接操作,第三方的支付超时时间跟服务器订单储存的超时时间不同步,可能出现的情况就是:服务器这边订单已经失效了,但是第三方支付仍可以支付,出现bug.有个预想的处理方法是:支付前进行查询订单操作,服务器返回一个超时时间,然后进行第三方支付时把这个超时时间设置过去.但是在做的过程中又遇到了新的问题:第三方支付的超时时间有限制,支付宝是1min~15d,微信是要大于五分钟.
解决方案: 创建订单 跟调第三方支付创建订单 同时进行,然后第一次支付的时候设置超时时间.
目录: Cocos creator ios开发-接入微信SDK系列文章
这是官方文档: app微信支付开发文档
第一步、
先接入微信SDK,请参考 Cocos creator ios开发—接入微信SDK
第二步、
在Xcode的Info的设置项中,URL Types 的URL Schemes填写APPID
在AppController.h中添加接口:
app启动时,注册APPID,在AppController.mm中的didFinishLaunchingWithOptions方法中调用
第三步、
向oc发送支付信息
第四步、
oc收到支付信息,发起支付
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流