【问题标题】:What am I doing wrong storing my Stripe API credentials in credentials.yml.enc?将我的 Stripe API 凭据存储在 credentials.yml.enc 中我做错了什么?
【发布时间】:2019-03-30 20:19:59
【问题描述】:

我的条纹元素在小提琴中工作:http://jsfiddle.net/k4j05Lu6/

这让我怀疑我没有正确连接到他们的 api。

因为付款表单本身不会显示。这是我的样子:http://jsfiddle.net/x2ucpv5y/

^ 这是未连接 API 的情况。表单本身不会出现......这就是我在appp中看到的

在我的来源中,出现了:

<script src="/assets/stripejs.self-515a5c43d0bc8c4cedc1b733a487b87626dd61e39c6df9c0033b4c3359d4355b.js?body=1" data-turbolinks-track="reload"></script>

这就是 Stripe 相关的内容,这是我的本地文件。

这是我的修复尝试:

我的 stripe.rb 文件结构如下:

Rails.configuration.stripe = {
  :publishable_key => Rails.application.credentials.stripe[:publishable_key],
  :secret_key      => Rails.application.credentials.stripe[:secret_key]
}

Stripe.api_key = Rails.configuration.stripe[:secret_key]

然后像这样保存我的凭据文件:

stripe:   
    publishable_key: 123456789
    secret_key: 123456789

然后我在启动我的服务器时收到错误:

undefined method \credentials' for Rails:Module (NoMethodError)`

我做错了什么吗?

尝试:2:

我尝试在 stripe.rb 文件中做...

Rails.configuration.stripe = {
  Rails.application.credentials.stripe[:publishable_key],
  Rails.application.credentials.stripe[:secret_key]
}

Stripe.api_key = Rails.configuration.stripe[:secret_key]

最后一次有和没有......我收到错误:“语法错误,意外'}',期待输入结束”

我也尝试过像这样在本地填写 API 密钥:

Rails.configuration.stripe = {
  :publishable_key => ENV['pk_test_1234567890'],
  :secret_key      => ENV['sk_test_1234567890']
}

Stripe.api_key = Rails.configuration.stripe[':secret_key'] #also tried with key in here <<

尝试禁用 turbo 链接(看到关于此的帖子)但没有奏效。

密钥正确,已复制粘贴。

有什么我做错了,我有什么可以干扰的东西(例如我用于 AWS API 的 Dontenv)

问题是,它不应该在没有正确的 API 密钥的情况下工作,因为它在小提琴中工作。就它的出现而言?

查看:

  <script src="https://js.stripe.com/v3/"></script>
    <script src="stripejs.js"></script>

    <form id="form-element" action="/charge" method="post" id="payment-form">
      <div class="form-row">
        <label for="card-element">
          Credit or debit card
        </label>
        <div id="card-element">
          <!-- a Stripe Element will be inserted here. -->
        </div>

        <!-- Used to display form errors -->
        <div id="card-errors" role="alert"></div>
      </div>

      <button id="button-element">Submit Payment</button>
    </form>

【问题讨论】:

  • 第二个未呈现表单的 JSFiddle 在控制台中显示以下 JS 错误:Uncaught ReferenceError: Stripe is not defined。你确定你正在正确加载条带吗?
  • 我不相信我是但也不知道为什么...我更新了我的帖子以包含我的观点。我应该如何加载条带?
  • 加入这个聊天室,我会尽力帮助你:chat.stackoverflow.com/rooms/info/182560/…

标签: javascript ruby-on-rails stripe-payments


【解决方案1】:

如果有人遇到类似问题...

对我来说,是引导程序导致了问题。您需要做的就是在 Stripe Elements 表单中使用 class="form-control" 以使其正确显示 - 如果您使用的是 Bootstrap。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 1970-01-01
    相关资源
    最近更新 更多