今天这个知识很冷门,但关键时刻能救命。看到就是赚到,能救一个是一个。
如果你的苹果开发者账号是过期后完成的续费,虽然账户续费成功了,但付费协议不会自动续签,需要你去苹果后台手动点一下同意。如果当天协议没"同意"按钮可点,你需要持续关注,因为它后面随时可能自动过期。过期后线上内购商品将全部失效无法购买,引发客诉和经济损失,后果很严重。
以下是我最近的一次续费经历,简直是遭遇了苹果的连环杀
9月初的一天晚上,18:00左右(记住这个时刻,下文还会出现),我正准备下楼吃饭,我们线上的一个苹果开发者邮件突然收到了一封苹果官方的邮件,说我们开发者账号过期了。我顿时吓出一声冷汗,饿意全无,反复读了几遍,确认了这个事实。
如果续费失败,将面临App全部下架,所有App内购无法使用的情况(已安装的用户也无法使用内购,因为付费协议也会因为没续费终止)。我们这个账号上还有好几个活跃App,如果都被下架了,就是重大事故。
我赶紧去苹果后台查看App的状态,好在各个App都还在线,没有被下架。
紧急联系了相关同事,当天22:00左右完成了手动续费。自动扣款失败,是同事海外信用卡里余额不足导致的(我们是海外开发者账号)。上周我还专门提醒过他,开发者账号要续费了,请保持余额充足。造孽啊。
至此,危机解除,好在今天有惊无险。(此时,我却不知,更大的危机在后面!)
续费完成四天后的一个周末,20:00点左右收到不少客诉,反馈苹果支付拉不起来,技术侧的表现就是"查询商品信息失败"(StoreKit Product.products返回空数组)。起初我以为是平常的网络问题,直到客诉开始激增,而且是所有商品都拉不起来,我才意思到了问题的严重性。
排查后发现,支付异常是从当天18:00开始的,18:00之后iOS就没有支付成功的订单了。
我排除掉代码问题后,开始怀疑是否是苹果服务器出了问题,但开发者群里今天没有相关的讨论,我问了群友没人响应。说到这里,我还有一段搞笑的行为:我随手点了一下公众号入口,蹦出来的第一篇文章标题赫然写着"苹果崩了",卧槽,我说的吧,就是苹果服务器出了问题!我点进去看,结果人家说的是苹果今天股价崩了,我哭笑不得。
最后,我想到去苹果后台看一眼,打开苹果后台,首页一条醒目的黄色横幅印入我的眼帘,"您的付费协议已过期,请前往 商务 模块重新签署"。我去,症结原来在这!商务模块里,付费协议确实过期了,过期时间显示是续费当天晚上,有一个"同意"的按钮。我赶紧点了"同意"重新签署了付费协议。
22:00左右,付费协议虽然重新签署了,但App的内购功能并没有马上恢复。两个半小时后,内购商品才开始陆续恢复(部分商品可以拉起支付,部分商品仍然不能拉起支付)。第二天上午内购商品才全部恢复了。
故事完。
复盘吐槽一下苹果恶心的点 :
1、续费失败当天,苹果后台并没有显示协议过期,起码"首页"是没有显示的,因为App状态是正常的,所以当天没去"商务"模块去看付费协议的状态。
2、付费协议失效当天,苹果没有给开发者发邮件提醒。18:00就失效了,我们没有收到任何邮件提醒,还是收到客诉才知道这件事。
3、我账号都续费成功了,为什么付费协议还会失效?起初我还以为是苹果的bug,后来在苹果官方文档上了解到,这居然是设计如此 。苹果官方文档上有这么一段话:
如果会员资格在续订时已过期,续订会在你完成续订流程后立即生效,之前可供下载的所有免费 App 都会在 24 小时内再次变为上架状态。在你登录 App Store Connect 并接受《付费应用程序协议》后,之前可供下载的所有付费 App 都会再次变为上架状态。你无需重新提交 App。
跟我一起喊,"苹果,你 太 恶 心 了!"