IAP错误码梳理
StoreKit 官方内购错误码列表
错误代码 | 错误名称(SKError.Code) | 含义说明 | 解决方案建议 |
---|---|---|---|
0 | .unknown | 未知错误,可能由越狱设备、测试账号异常或系统兼容性问题引起。 | 重启设备或更换网络环境;开发者需检查沙盒测试配置。 |
1 | .clientInvalid | 客户端请求无效(如账户被禁用、家长控制限制)。 | 提示用户检查账户状态或设备设置(如关闭“屏幕使用时间”限制)。 |
2 | .paymentCancelled | 用户主动取消支付流程。 | 无需特殊处理,可设计挽留提示(如“是否以折扣价再次尝试?”)。 |
3 | .paymentInvalid | 支付信息无效(如银行卡过期、余额不足)。 | 提示用户更新支付方式或检查账户资金。 |
4 | .paymentNotAllowed | 设备禁止支付(如银行卡限制在线交易)。 | 建议用户联系发卡银行解除交易限制。 |
5 | `.storeProductNotAvailable** | 商品在当前地区/商店不可用。 | 检查商品区域设置(使用SKStorefront ),或提示用户切换商店。 |
6 | `.cloudServicePermissionDenied** | 用户拒绝访问云服务信息。 | 通常无需处理,可提示“购买被拒绝”。 |
7 | `.cloudServiceNetworkConnectionFailed** | 设备未连接互联网。 | 检查网络稳定性,提示用户重试。 |
8 | `.cloudServiceRevoked** | 设备无法访问支付服务(常见于沙盒环境)。 | 创建新的沙盒测试账号或重启交易流程。 |
9 | `.privacyAcknowledgementRequired** | 用户未接受 App Store 条款。 | 提示用户在设备设置中同意条款(设置 → iTunes & App Store → 账户)。 |
10 | `.unauthorizedRequestData** | 应用缺少内购权限。 | 在 App Store Connect 中启用“应用内购买”功能并重新提交应用。 |
11 | `.invalidOfferIdentifier** | 促销优惠 ID 无效或过期。 | 检查促销活动配置,更新优惠 ID。 |
12 | `.invalidSignature** | 促销签名生成错误。 | 验证签名算法(如使用 JWT 需检查密钥和载荷)。 |
13 | `.missingOfferParams** | 促销参数缺失或格式错误。 | 核对促销配置的完整性(如价格、有效期)。 |
14 | `.invalidOfferPrice** | 商品价格与 App Store 记录不匹配。 | 在 App Store Connect 中更新商品定价。 |