У меня есть элементы полосы, работающие в скрипке: http://jsfiddle.net/k4j05Lu6/
который подозревает, что я считаю, что я как-то неправильно подключаюсь к их API.
потому что сама форма оплаты не отображается. Вот как это выглядит для меня: http://jsfiddle.net/x2ucpv5y/
^ Это с не подключенным API. Сама форма не появится ... и это то, что я вижу на своей стороне в приложении
В моем источнике это появляется:
<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>
Не верю, но тоже не знаю почему ... Я обновил свой пост, включив в него свое мнение. Как мне загружать полосу?
Присоединяйтесь к этому чату, и я постараюсь вам помочь: chat.stackoverflow.com/rooms/info/182560/…
Если кто-то столкнется с подобной проблемой ...
Для меня проблемы были вызваны загрузкой. Все, что вам нужно сделать, это использовать class = "form-control" в форме Stripe Elements для правильного отображения - если вы используете Bootstrap.
Второй JSFiddle, который не отображает форму, показывает следующую ошибку JS в консоли:
Uncaught ReferenceError: Stripe is not defined
. Вы уверены, что загружаете полосу правильно?