条纹 API 键丢失 Rails

Stripe API key missing Rails

我们遇到了 Stripe API 键的问题。到目前为止我所做的是:

但是,一旦这些都准备就绪,使用浏览器调用 Stripe 的 API 会导致:

Stripe::AuthenticationError in some_controller#some_action

No API key provided. Set your API key using "Stripe.api_key = <API-KEY>". You can generate API keys from the Stripe web interface. See https://stripe.com/api for details, or email support@stripe.com if you have any questions.

使用网络控制台gem,我们可以看出STRIPE_SECRETSTRIPE_PUBLIC在网站中为零。但是每次我们 运行 rails console 我们都从常量中获取密钥。

我认为您遇到的问题正在发生,因为如果您设置密钥的方式。

您不能期望您使用 rails 控制台设置的内容可用于 Web 应用程序。 Rails 控制台作为其自己独特的进程启动,不与浏览器启动和访问的 Web 进程共享任何内容。

如果您希望该密钥可用于 Web 应用程序,请尝试将其设置为环境变量并在您的 stripe.rb 文件中相应地读取它

我解决了我的问题。终端 运行 rails 服务器在设置环境变量之前已经打开。

因此,运行 source ~/.bashrc(对我来说)或使用新终端对我有用。

真诚地感谢所有试图提供帮助的人!

尝试重新启动 rails 服务器以使这些值可用于 rails 应用程序,因为更改是在初始化程序目录中进行的。