如何为PayPal凭据设置环境变量?我搜了很多遍,但没有任何线索。这是paypal.rb中的代码
PayPal::SDK.load("config/paypal.yml", Rails.env)
PayPal::SDK.logger = Rails.logger
merchant_id = "sts9n"
public_key = "3jnfbc24f76"
private_key = "a0167fd52cf3857e"发布于 2019-12-18 11:29:44
可以将凭据添加到credentials.yml中,如下所示
EDITOR=nano rails credentials:edit在凭据文件中添加PayPal键,如下所示
paypal:
development:
client_id: "sdsdsdvsdvsv"
client_secret: "sdfsdsdv"
production:
client_id: 'sdsdsdvsdvsv'
client_secret: 'sdsdsdvsdvsv'然后在配置文件中创建一个名为paypal.yml的YML文件。
development:
client_id: <%= Rails.application.credentials.paypal[:development][:client_id] %>
client_secret: <%= Rails.application.credentials.paypal[:development][:client_secret] %>
production:
client_id: <%= Rails.application.credentials.paypal[:production][:client_id] %>
client_secret: <%= Rails.application.credentials.paypal[:production][:client_secret] %>
mode: live然后在初始化器文件夹中创建一个paypal.rb文件。
paypal_config_file = File.join(Rails.root,'config','paypal.yml')
raise "#{paypal_config_file} is missing!" unless File.exists? paypal_config_file
paypal_config = YAML.load(ERB.new(File.read(Rails.root.join('config','paypal.yml'))).result)[Rails.env].symbolize_keys
CLIENT_ID = paypal_config[:client_id]
CLIENT_SECRET = paypal_config[:client_secret]这样,在切换到产品开发时,您不需要更改任何代码。
发布于 2019-12-18 10:35:21
只需将密钥添加到rails凭据:
EDITOR=nano rails credentials:edit
production:
paypal:
client_id: 'qwertzuiop'
client_secret: 'poiuztrewq'然后在config/paypal.yml中使用此凭据
[…]
production:
mode: live
client_id: <%= Rails.application.credentials.dig(:production, paypal, :client_id) %>
client_secret: <%= Rails.application.credentials.dig(:production, paypal, :client_secret) %>也可以将环境变量添加到环境配置文件中。例如,在config/environments/production.rb中
PAYPAL_CLIENT_ID = Rails.application.credentials.dig(:production, paypal, :client_id)
PAYPAL_CLIENT_SECRET = Rails.application.credentials.dig(:production, paypal, :client_secret)在config/paypal.yml中
[…]
production:
mode: live
client_id: PAYPAL_CLIENT_ID
client_secret: PAYPAL_CLIENT_SECREThttps://stackoverflow.com/questions/59389886
复制相似问题