将Stripe API凭据存储在certificate.yml.enc中,这是什么错误?

时间:2018-10-26 06:13:45

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

我的条纹元素在小提琴中起作用: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链接(见此文章),但无效。

密钥正确,已被复制并粘贴。

我在做错什么吗,有什么会干扰我的事情(例如Dontenv,我正在使用AWS API)

问题是,如果没有正确的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>

1 个答案:

答案 0 :(得分:0)

万一有人遇到类似问题...

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