Что я делаю неправильно, сохраняя свои учетные данные Stripe API в credentials.yml.enc? - PullRequest
0 голосов
/ 26 октября 2018

У меня есть элементы полосы, работающие в скрипке: 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 <<

Пробовал отключать турбо ссылки (видел пост об этом), но не работал.

Ключи верны, они были скопированы и вставлены.

Есть ли что-то, что я делаю не так, что у меня есть, что может помешать (например, 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 голосов
/ 26 октября 2018

На случай, если кто-нибудь столкнется с подобной проблемой ...

Для меня это был бутстрап, вызывающий проблемы. Все, что вам нужно сделать, это использовать class = "form-control" в форме Stripe Elements для правильного отображения - если вы используете Bootstrap.

...