我完全遵循Stripe的Rails教程(https://stripe.com/docs/checkout/guides/rails)(复制和粘贴代码),但是当我运行rails
PUBLISHABLE_KEY=pk_foo SECRET_KEY=sk_bar rails s
然后转到localhost:3000 / charge / new并填写带有测试卡数据的字段(卡号“4242 4242 4242 4242”),但我得到了
Invalid API Key provided: ***********_***
为什么会发生这种情况?
答案 0 :(得分:5)
您需要插入您的可发布密钥和密钥; pk_foo
和sk_bar
是占位符。 (与API文档不同,Checkout教程不使用您帐户中的信息。)
您可以从“帐户”的API Keys标签中获取这些内容。
即。对于Sk123456的密钥和pk_987654的可发布密钥,您需要发出:
PUBLISHABLE_KEY=pk_987654 SECRET_KEY=Sk123456 rails s
如果仍然无法解决问题:
ENV['PUBLISHABLE_KEY']
和ENV['SECRET_KEY']
访问这些环境变量?答案 1 :(得分:0)
您可能要检查的另一件事是您使用的 API 密钥实际上是正确的。发生在我身上的是我正在扫描 Stripe Dashboard 中的键和我的 .env
文件中的键,并根据它们的开始和结束方式快速判断它们是相同的。它们看起来都像这样,除了第三个字符外,每个字符都相同:
sk_test_******************************D6D
无论出于何种原因,当 Stripe 推出新密钥时,他们几乎保持不变。
简而言之,不要相信你的眼睛,并确保密钥实际上相同。