Firebase云函数Stripe扩展报错:无效API密钥求助
Firebase云函数中Stripe密钥无效的排查方案
清理环境变量的隐藏字符
复制粘贴密钥时极易带入不可见的空格、换行或全角字符,哪怕肉眼看不到也会导致校验失败。可以在代码里对密钥做去空格处理:const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY.trim());或者手动输入密钥的首尾部分,避免直接复制粘贴。
确认Firebase环境变量部署到位
本地测试用的.env文件不会同步到云端,必须用Firebase CLI设置云端环境变量:firebase functions:config:set stripe.secret="sk_test_xxxx"设置完成后重新部署函数,再通过
firebase functions:config:get命令验证变量值是否正确。核对密钥类型
确保使用的是Secret Key(以sk_test_开头),而非Publishable Key(以pk_test_开头),两者权限和用途完全不同,混用会直接触发无效密钥报错。检查环境隔离情况
如果区分了开发/生产环境,确认当前运行的云函数环境对应的是正确的密钥,不要把测试环境密钥误配置到生产环境,反之亦然。排查字符转义问题
若密钥包含特殊字符(比如反斜杠),设置环境变量时要用单引号包裹密钥,避免系统自动转义字符导致密钥变形:firebase functions:config:set stripe.secret='sk_test_xxx\yyy'
报错信息:
{success: false, error: Invalid API Key provided: sk_test_**********************************************************************************************************************************************************************************************************}
内容的提问来源于stack exchange,提问作者Seonaidh Morrison
相关产品推荐
相关产品推荐

