Stripe Checkout缺少必需的`key`参数。在哪里放变量?

时间:2014-12-12 20:41:36

标签: ruby-on-rails stripe-payments

尝试使用Stripe Checkout后,我收到以下警告:

Stripe Checkout缺少必需的key参数。请联系网站所有者或support@stripe.com。

在初始化者下我有:

 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 个答案:

答案 0 :(得分:0)

首先,确保您已安装dotenv-rails gem。

将此行添加到您的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

报价没问题,但请注意=之后没有空格。

答案 1 :(得分:0)

一种可能性是您尚未加载Stripe.rb次修改。

  1. 使用ctrl + c

  2. 退出服务器
  3. $ spring stop
    =>春天停止了

  4. $ rails server

答案 2 :(得分:0)

检查ENV [' SECRET_KEY']和ENV [' PUBLISHABLE_KEY']是否已针对Stripe以外的其他API设置为不同的值。如果是这样,您可以将它们更改为ENV [' STRIPE_SECRET_KEY']和ENV [' STRIPE_PUBLISHABLE_KEY']以使它们分开。