4

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

  1. 设置 PayPal 商家帐户
  2. 将凭据放入 Active Merchant / PayPal 配置中
  3. 下载 PayPal PEM 并将其放在我的服务器上
  4. 从 PositiveSSL 购买并上传 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 失败的解决方案吗?

4

2 回答 2

2

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

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

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

而且效果很好。所以...是的,如果其他人在使用 Active Merchant 和 PayPal 时遇到问题,请尝试将您的身份验证方法从证书换成签名。

于 2012-10-08T19:37:31.207 回答
-1

试试这个, http://railsapps.github.com/openssl-certificate-verify-failed.html

于 2012-10-08T04:47:44.690 回答