uniapp 苹果内购买订阅产品成功 再取消后为什么无法复购?

问题描述:uniapp内部使用苹果内购(IAP),购买消耗类产品可以成功拉起支付并支付成功。支付订阅产品的时候首次可以支付成功,但是在App Store中手动取消产品订阅,再回到app内中复购则无法成功拉起支付,使怎么回事呢?

支付环境:沙盒环境

阅读 1.9k
avatarAI BotBETA
该问题可能是由于多种原因导致的,以下是一些可能的解决方案:

1. **检查沙盒环境设置**:确保您在沙盒环境中正确设置了您的应用程序。沙盒环境是用于测试应用程序的隔离环境,如果您在沙盒环境中遇到问题,尝试切换到生产环境看看问题是否仍然存在。
2. **检查苹果内购配置**:确保您在苹果开发者后台正确配置了您的内购产品。特别注意检查您的订阅产品是否已经正确地设置为“可以续订”,并且没有设置其他限制条件。
3. **检查支付回调处理**:当用户取消订阅或支付失败时,您需要处理相应的回调。确保您的应用程序能够正确处理这些情况,并且不会影响用户再次尝试订阅或支付。
4. **检查用户账户状态**:确保您的应用程序能够正确检查用户的账户状态,并且只有在用户账户有效的情况下才尝试拉起支付。如果用户账户无效,您需要引导用户进行账户验证。
5. **更新应用程序版本**:有时候问题可能是由于应用程序版本过旧导致的。尝试更新您的应用程序到最新版本,看看问题是否得到解决。

如果以上解决方案都不能解决您的问题,建议您联系苹果开发者支持寻求帮助。他们可以提供更详细的调试信息和解决方案。
1 个回答

uni-app 中关于这部分是有解释的:

注意事项

  • 相同订单,重复调用 restoreCompletedTransactionstransactionReceipt 会发生变化,并非唯一值
  • 调用 finishTransaction 关闭订单可能不会立即生效,取决于苹果的服务器
  • 沙盒环境:一个测试账号相同产品仅能购买一次,重复测试需要清除购买记录或重新添加沙盒测试账号
  • 沙盒环境:调用 restoreCompletedTransactions 长时间无反应,检查设备登陆的沙箱账号是否正常

#注意事项 - uni.requestPayment(OBJECT) | uni-app官网

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题