集成Stripe Apple Pay遇「未提供API密钥」错误求助
问题1:API密钥缺失错误(401)
这个错误的核心是后端生成PaymentIntent/SetupIntent时未正确携带Stripe Secret Key。客户端使用的clientSecret由后端生成Intent后返回,因此问题出在后端请求环节:
- 确认后端调用Stripe API创建Intent时,请求头包含
Authorization: Bearer YOUR_STRIPE_SECRET_KEY,Secret Key可在Stripe后台API密钥页面获取。 - 禁止在客户端代码中直接使用Secret Key,必须由后端安全生成Intent并返回
clientSecret给前端。
问题2:
didCreatePaymentMethod方法未执行 你的代码存在语法错误,导致Apple Pay支付请求无效,无法触发后续回调:
- 查看
paymentSummaryItems的映射逻辑,NSDecun_edge鲁厘Rep// One[choice@翻in actual]是乱码+无效代码,正确写法需用NSDecimalNumber构造金额,示例如下:
return PKPaymentSummaryItem(label: object.message ?? "Unknown", amount: NSDecimalNumber(string: object.amount ?? "0.00"))
- 该错误会导致
PKPaymentRequest无法正常初始化,即便STPApplePayContext创建成功,也无法唤起Apple Pay流程,因此不会执行didCreatePaymentMethod回调。
额外检查项
- 确保客户端初始化Stripe时配置了Publishable Key,在App启动阶段执行:
StripeAPI.defaultPublishableKey = "YOUR_PUBLISHABLE_KEY"
- 确认
merchantIdentifier有效,且已在Apple开发者后台配置对应Apple Pay商户ID,并关联Stripe支付处理证书。 - 检查
reservation.clientSecret是否获取到有效值,避免空值中断后续流程。
内容的提问来源于stack exchange,提问作者mohsen
相关产品推荐
相关产品推荐

