ruby-on-rails - Stripe "Invalid API Key Provided"

标签 ruby-on-rails stripe-payments

我完全按照 Stripe 的 Rails 教程(https://stripe.com/docs/checkout/guides/rails)(复制和粘贴代码),但是当我运行 rails

PUBLISHABLE_KEY=pk_foo SECRET_KEY=sk_bar rails s 

并转到 localhost:3000/charges/new 并使用测试卡数据(卡号“4242 4242 4242 4242”)填写字段,但我得到一个
Invalid API Key provided: ***********_***

任何想法为什么会发生这种情况?

最佳答案

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

您可以从您的帐户的 API Keys 选项卡中获取它们。

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

PUBLISHABLE_KEY=pk_987654 SECRET_KEY=Sk123456 rails s

如果这仍然不起作用,则需要检查几件事:
  • 两个 key 是否来自同一环境(测试或实时)?有时人们将两者混合在一起。
  • 如果您加载 Rails 控制台而不是 Rails 服务器,您可以使用 ENV['PUBLISHABLE_KEY']ENV['SECRET_KEY'] 访问这些环境变量吗?
  • 如果您使用多个 API,可能会发生某种冲突;您可以尝试将命令行和代码调整为 STRIPE_PUBLISHABLE_KEY 和 STRIPE_SECRET_KEY。
  • 关于ruby-on-rails - Stripe "Invalid API Key Provided",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19216508/

    相关文章:

    mysql - 具有自定义外键列名称的 Activeadmin 表单

    stripe-payments - Stripe 的按比例分配是如何工作的?

    swift - Stripe 集成问题

    javascript - 如何在 Stripe webhook 中获取产品 ID

    javascript - 在 Cordova 中使用 Stripe Checkout

    ruby-on-rails - Ruby on Rails 2.3.8 : Testing: Instance Variable Nil, 何时在类顶部声明?

    javascript - IE 无法在某些页面上加载 jQuery 扩展

    ruby-on-rails - Rails form_authenticity_token 不返回任何 session [:_csrf_token] returns the actual token

    ruby-on-rails - Rails 未定义方法 'full_name'

    ruby-on-rails - 如何修复此错误 "undefined method ` 编码' for nil :NilClassa "and get canceling subscription plan worked?