我正在尝试使用Active Merchant和PayPal来处理登台服务器上的付款。我的所有设置如下。
但是,当我运行代码(下面)时,我收到此错误:
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read finished A: sslv3 alert handshake failure
这是我正在使用的代码
ActiveMerchant::Billing::PaypalGateway.pem_file = File.read("#{Rails.root}/config/cert_key_pem.pem")
@credit_card ||= ActiveMerchant::Billing::CreditCard.new(:brand => "Visa", :number => "4242424242424242", :verification_value => "123", :month => "11", :year => "2016", :first_name => "John", :last_name => "Doe")
gateway = ActiveMerchant::Billing::PaypalGateway.new(:login => "sales_api1.example.com", :password => "password")
response = gateway.authorize(150, @credit_card, :ip=>"123.123.123.1")
任何人遇到此问题或知道SSL失败的解决方案?
答案 0 :(得分:2)
好吧,我最终放弃了,而不是使用验证的证书方法,我使用了PayPal签名。
所以我删除了PEM文件,现在正在使用
gateway = ActiveMerchant::Billing::PaypalGateway.new(:login => "sales_api1.example.com", :password => "password", :signature => "fake_signature")
它很有效。所以...是的,如果有其他人如果遇到Active Merchant和PayPal的问题,请尝试将您的身份验证方法从证书交换到签名。
答案 1 :(得分:-1)