使用Active Merchant和PayPal时出现SSL错误

时间:2012-10-08 02:04:32

标签: ruby-on-rails ruby ssl paypal activemerchant

我正在尝试使用Active Merchant和PayPal来处理登台服务器上的付款。我的所有设置如下。

  1. 设置PayPal商家帐户
  2. 将凭据放入Active Merchant / PayPal配置
  3. 下载PayPal PEM并将其放在我的服务器上
  4. 从PositiveSSL
  5. 购买并上传了SSL证书

    但是,当我运行代码(下面)时,我收到此错误:

    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失败的解决方案?

2 个答案:

答案 0 :(得分:2)

好吧,我最终放弃了,而不是使用验证的证书方法,我使用了PayPal签名。

所以我删除了PEM文件,现在正在使用

gateway = ActiveMerchant::Billing::PaypalGateway.new(:login => "sales_api1.example.com", :password => "password", :signature => "fake_signature")

它很有效。所以...是的,如果有其他人如果遇到Active Merchant和PayPal的问题,请尝试将您的身份验证方法从证书交换到签名。

答案 1 :(得分:-1)