首页 > 解决方案 > 使用 dotenv env for stripe 提供的 API 密钥无效

问题描述

我的 env 文件包含正确的测试代码。然后我将以下内容添加到我的stripe.rb

Rails.configuration.stripe = {
  :publishable_key => ENV['STRIPE_PUBLISHABLE_KEY'],
  :secret_key      => ENV['STRIPE_SECRET_KEY']
}
Stripe.api_key = Rails.configuration.stripe[:secret_key]

在我的环境文件中:

export STRIPE_PUBLISHABLE_KEY=pk_test_x
export STRIPE_SECRET_KEY=sk_test_x

我尝试了export有无引号和有无引号。

然后在我的 stripe.js 文件的开头

var stripe = Stripe("<%= ENV['STRIPE_PUBLISHABLE_KEY']%>");

我相信这是问题所在,因为当我在此 stripe.js 文件中手动输入条带键时,它可以工作。

env 文件是否没有访问 assets/javascript,或者发生了什么导致条带键无法通过?

使用 js.erb 可以在本地工作,但不能在 heroku 上进行生产。我试过了:

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

Rails.application.config.assets.precompile << '*.js.erb'

两者都不适用于heroku的生产。ENV 无法正常工作并进入生产阶段。

标签: ruby-on-railsstripe-payments

解决方案


推荐阅读