条纹“提供的API密钥无效”

我完全按照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: ***********_*** 

任何想法为什么会这样?

您需要插入可发布的密钥和密钥; pk_foosk_bar是占位符。 (与API文档不同,Checkout教程不会使用您帐户中的信息。)

您可以从“帐户”的“ API密钥”选项卡中获取它们。

即,对于Sk123456的密钥和pk_987654的可发布密钥,您将发出:

 PUBLISHABLE_KEY=pk_987654 SECRET_KEY=Sk123456 rails s 

如果仍然不起作用,有几件事要检查:

  • 两个密钥来自同一环境(测试还是实时)? 偶尔人们将两者混合在一起。
  • 如果您加载Rails控制台而不是Rails服务器,您可以使用ENV['PUBLISHABLE_KEY']ENV['SECRET_KEY']访问这些环境变量吗?
  • 如果您使用多个API,则可能会发生某种冲突; 您可以尝试将命令行和代码调整为STRIPE_PUBLISHABLE_KEY和STRIPE_SECRET_KEY。