我在尝试处理付款时收到此错误,但我无法查看我出错的地方:
配置/初始化/ stripe.rb
Rails.configuration.stripe = {
:publishable_key => ENV['stripe_publishable_key'],
:secret_key => ENV['stripe_api_key']
}
Stripe.api_key = Rails.configuration.stripe[:secret_key]
application.yml(figaro):
production:
stripe_api_key: XXXXXX
stripe_publishable_key: XXXXXX
然后我跑了" figaro heroku:set -e production"我收到显示所有正确设置键的成功消息。
我错过了什么?
编辑:添加了heroku仪表板截图
答案 0 :(得分:0)
在stripe.rb文件中,最后一行应查找[:stripe_api_key]而不是[:secret_key],因此应为:
Select distinct tblProducts.Id, Name, Description
from tblProducts
inner join tblProductSales
on tblProducts.Id= tblProductSales.ProductId
更改它,它应该可以工作。
(我知道这是一个老问题,但是我想在搜索此主题时回答它)。
注意-现在Rails 5.2文件看起来像这样:
config / initializers / stripe.rb
Stripe.api_key = Rails.configuration.stripe[:stripe_api_key]
只需确保密钥名称(即[:stripe_publishable_key]与您的certificate.yml.enc文件中的名称匹配。就我而言,我为每个密钥都添加了条带,以便可以清楚地查找到我要查找的可发布和私有密钥..但这只是我:)
我的credintials.yml.enc文件如下:
Rails.configuration.stripe = {
:publishable_key => Rails.application.credentials.stripe[:stripe_publishable_key],
:secret_key => Rails.application.credentials.stripe[:stripe_secret_key]
}
Stripe.api_key = Rails.application.credentials.stripe[:stripe_secret_key]
希望这对以后的人有帮助。