У Stripe Checkout отсутствует требуемый параметр "ключ". Где поставить переменные?

После попытки использования Stripe Checkout я получаю следующее предупреждение:

В программе Stripe Checkout отсутствует требуемый key параметр. Пожалуйста, свяжитесь с владельцем сайта или [removed_email].

При инициализаторах у меня есть:

Stripe.rb

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

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

В моем файле.env у меня есть:

PUBLISHABLE_KEY= 'with my keys'
SECRET_KEY= 'with my keys'

Я копирую и вставляю контроллер и виды из учебника на веб-сайте Stripe, поэтому с ними ничего не происходит. Где я должен помещать ключевую информацию?

3 ответа

Во-первых, убедитесь, что вы установили драгоценный камень dotenv-rails.

Добавьте эту строку в свой Gemfile:

gem 'dotenv-rails', :groups => [:development, :test]

Затем bundle:

$ bundle install

что эквивалентно:

$ bundle

Также обратите внимание, что ваш синтаксис неверен:

PUBLISHABLE_KEY= 'with my keys'
SECRET_KEY= 'with my keys'

Попробуйте синтаксис следующим образом:

PUBLISHABLE_KEY='with my keys'
SECRET_KEY='with my keys'

Или, что более ясно, это:

PUBLISHABLE_KEY=pk_test_alsdjflaksjdflaksjdflaksjdfl
SECRET_KEY=sk_test_alsdjflaksjdflaksjdflaksjdfl

Кавычки в порядке, но обратите внимание, что после = нет места.


Убедитесь, что ENV ['SECRET_KEY'] и ENV ['PUBLISHABLE_KEY'] еще не установлены на разные значения для разных API, отличных от Stripe. Если это так, вы можете изменить их на ENV ['STRIPE_SECRET_KEY'] и ENV ['STRIPE_PUBLISHABLE_KEY'], чтобы их разделить.


Одна из возможностей заключается в том, что ваши изменения в Stripe.rb не были загружены.

  1. Выйдите из своего сервера с помощью ctrl + c

  2. $ spring stop => Весна остановлена

  3. $ rails server

licensed under cc by-sa 3.0 with attribution.