You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native IAP requestSubscription报未知错误的解决求助

解决React Native内购订阅沙箱认证失败问题

一、沙箱测试用户核心检查

  • 必须使用App Store Connect专属沙箱测试账号,在「用户和访问」->「沙箱测试员」路径创建,禁止用个人Apple ID或开发者ID替代。
  • 测试设备需先退出所有个人Apple ID(设置→App Store→退出登录),触发订阅时弹出的登录框中输入沙箱账号,不要勾选「记住密码」。
  • 沙箱账号的地区需与订阅产品创建时的地区完全一致,比如产品设置为中国区,沙箱账号也必须是中国区。

二、Xcode与项目配置补查

  • 确认Xcode项目「Signing & Capabilities」中In-App Purchase能力已开启,且绑定的Team为正确的开发者团队。
  • 检查项目Bundle ID与App Store Connect中配置的完全一致,包括大小写、特殊字符。
  • 必须使用真机测试,模拟器仅能获取产品列表,无法完成订阅支付流程,会触发未知错误。

三、react-native-iap调用细节修正

  • 调用requestSubscription时,传入的sku必须与App Store Connect中订阅产品的精确ID完全匹配,注意拼写、大小写。
  • 确保在发起订阅前已完成IAP模块初始化,即调用initConnection()并等待初始化完成,再执行订阅请求。
  • 增加错误日志打印,获取底层错误的完整信息:
    try {
      const result = await requestSubscription({ sku: '你的订阅产品ID' });
      console.log('订阅成功:', result);
    } catch (error) {
      console.log('错误完整详情:', JSON.stringify(error));
      // 重点查看error.details字段的具体提示
    }
    

四、App Store Connect配置验证

  • 确认订阅组及产品状态为「准备提交」或「已批准」,「等待审核」状态的产品无法在沙箱环境正常调用。
  • 检查订阅产品的价格层级配置,确保对应测试地区的价格已设置完成,无遗漏。
  • 确认开发者账号已完成「协议、税务和银行业务」的全部配置,未完成的话沙箱支付会直接失败。

五、其他测试环境注意事项

  • 测试设备使用较新的系统版本,避免旧系统兼容性问题。
  • 测试时关闭VPN或代理,防止干扰沙箱服务器连接导致认证失败。
  • 若多次测试失败,可尝试重启设备,或重新创建一个沙箱测试账号重试。

内容的提问来源于stack exchange,提问作者artak-avanesian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 06:24:58