问题描述
在我的应用中,我提供了一个可自动更新的订阅。大约一半的用户无法成功启动订阅。这些都是想要使用信用卡支付订阅费用的用户,这需要银行的额外授权步骤,例如万事达卡 ID 检查。在他们的银行/信用卡的应用程序中批准付款后,StoreKit 报告错误并且交易失败。
我在运行 iOS 14.4 的多部 iPhone 上看到过这种情况
流程:
1 用户在我的应用中点击“开始订阅”按钮
2 在代码中,将SKPayment添加到SKPaymentQueue
3 使用订阅弹出窗口提示用户(由 Apple 提供)
4 用户确认密码/Touch ID/Face ID
5 系统提示用户根据欧洲法律需要额外的身份验证步骤
6 信用卡网站显示消息:“请在您的银行应用程序中批准此交易。完成后按继续按钮。”
7 用户前往银行应用并批准交易
8 用户从第 6 步返回网站并按下继续按钮。
我观察到的:
- 用户被重定向到 App Store,但没有任何反应
- 返回我的应用程序时,向用户显示 SKErrorDomain 错误 0。交易失败。在代码中,SKPaymentQueue 收到一个 SKPaymentTransaction,其中 transactionState == Failed。
我的期望:
当用户停留在第6步(银行的网站),没有在同一台设备上打开银行的app,而是在另一台设备上确认了信用卡交易时,整个流程按预期成功。在我看来,打开银行应用程序会干扰支付流程并导致交易失败。
有没有人遇到过类似的自动续订订阅问题并且有办法解决这个问题?
解决方法
我最近遇到了一个类似的问题,在第 7 步我应该激活我的信用卡应用程序时,我不能这样做,因为主页按钮不再对双击做出反应。在 safari 中,单击或单击 3 次将终止整个交易,双击无法启动新应用程序。 经过与苹果支持的长时间辩论,他们意识到 istore pay 与几家信用卡银行存在问题。我不得不删除 CC 并使用另一种付款方式(确实成功了)