Ruby on rails 条带签出缺少必需的'key'参数。变量放在哪里?

Ruby on rails 条带签出缺少必需的'key'参数。变量放在哪里?,ruby-on-rails,stripe-payments,Ruby On Rails,Stripe Payments,尝试使用条带签出后,我收到以下警报: 条带签出缺少必需的密钥参数。请联系网站所有者或support@stripe.com. 在初始值设定项下,我有: Stripe.rb Rails.configuration.stripe = { :publishable_key => ENV['PUBLISHABLE_KEY'], :secret_key => ENV['SECRET_KEY'] } Stripe.api_key = Rails.configuration.stri

尝试使用条带签出后,我收到以下警报:

条带签出缺少必需的密钥参数。请联系网站所有者或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的网站上复制并粘贴了教程中的控制器和视图,所以它们没有问题。我应该把关键信息放在哪里

首先,确保已安装dotenv rails gem

将此行添加到您的文件:

gem 'dotenv-rails', :groups => [:development, :test]
然后,确保捆绑:

这相当于:

$ 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

引号是可以的,但是请注意=。

一种可能是您的Stripe.rb编辑尚未加载

使用ctrl+c退出服务器

$springstop =>弹簧停止

$rails服务器


检查ENV['SECRET_KEY']和ENV['PUBLISHABLE_KEY']是否已针对条带以外的不同API设置为不同的值。如果是这样,您可以将它们更改为ENV['STRIPE\u SECRET\u KEY']和ENV['STRIPE\u PUBLISHABLE\u KEY']以将它们分开。

我将“with my KEY”放在那里,而不是实际的硬编码密钥。但是,在=号后面有一个空格。但在密钥之前我需要pk\u test\u和sk\u test\u吗?是的。这些是您的条带密钥。条带密钥本身包含sk_测试和pk_测试。
PUBLISHABLE_KEY=pk_test_alsdjflaksjdflaksjdflaksjdfl
SECRET_KEY=sk_test_alsdjflaksjdflaksjdflaksjdfl