【问题标题】:Stripe "Invalid API Key Provided"条带“提供的 API 密钥无效”
【发布时间】:2013-10-07 03:09:40
【问题描述】:

我完全遵循了 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: ***********_***

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

【问题讨论】:

    标签: ruby-on-rails stripe-payments


    【解决方案1】:

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

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

    即对于 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。

    【讨论】:

      【解决方案2】:

      您可能会检查的另一件事是您使用的 API 密钥实际上是正确的。发生在我身上的是,我正在扫描 Stripe Dashboard 中的键和我的 .env 文件中的键,并根据它们的开始和结束方式快速判断它们是相同的。它们看起来都是这样的,除了第三个字符之外,每个字符都相同:

      sk_test_******************************D6D

      无论出于何种原因,当 Stripe 滚动一个新密钥时,它们几乎保持不变。

      简而言之,不要相信你的眼睛,并确保密钥实际上是相同的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-30
        • 1970-01-01
        • 2023-03-30
        • 1970-01-01
        • 2020-01-31
        • 2023-04-06
        • 1970-01-01
        • 2014-05-19
        相关资源
        最近更新 更多