Firebase Stripe扩展测试异常:测试密钥关联生产环境PaymentIntent
解决建议
1. 核对Firebase Stripe扩展的密钥配置
- 进入Firebase控制台找到已安装的Stripe扩展,确认受限Stripe API密钥是测试模式(开头为
sk_test_),而非生产模式的sk_live_;同时检查Webhook密钥,测试模式密钥开头为whsec_test_,确保和配置的环境一致。 - 注意:复制密钥时容易误选生产环境的密钥,务必仔细核对开头标识。
2. 清理Firestore中的生产模式遗留数据
- 检查Firestore的
stripe_customers和stripe_payment_intents集合,删除所有带有生产模式标识的文档(比如客户ID以cus_live_、支付意向ID以pi_live_开头的记录)。旧的生产环境数据可能导致扩展调用错误的Stripe接口生成生产临时密钥。 - 重新创建测试支付请求文档,确认生成的支付意向ID以
pi_test_开头,临时密钥以ek_test_开头。
3. 验证安卓客户端的Stripe初始化代码
- 确认安卓代码中初始化Stripe时使用的是测试模式发布密钥(开头为
pk_test_),检查是否存在硬编码错误或配置文件读取异常,导致加载了生产密钥。 - 示例代码检查:确保初始化逻辑类似:
val stripe = Stripe(context, "pk_test_xxxxxxxxxx")
4. 重新部署Firebase扩展
- 扩展配置更新后可能未完全生效,进入Firebase控制台的扩展页面,选择对应Stripe扩展点击重新部署,确保测试密钥配置完全应用到扩展服务中。
5. 清空安卓应用缓存后重试
- 清除应用的缓存和本地数据,重启应用后重新发起支付请求,避免本地缓存的旧密钥或数据干扰测试流程。
内容的提问来源于stack exchange,提问作者tliu02
相关产品推荐
相关产品推荐

