Question

I'm trying to use Active Merchant and PayPal to process payments on a staging server. I have everything setup as follows.

  1. Setup PayPal merchant account
  2. Put the credentials into the Active Merchant / PayPal config
  3. Downloaded the PayPal PEM and put it on my server
  4. Bought and uploaded an SSL certificate from PositiveSSL

However, when I run the code (below), I receive this error:

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read finished A: sslv3 alert handshake failure

This is the code I am using

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")

Anyone experience this problem or know of a solution to the SSL failing?

Was it helpful?

Solution

Well, I eventually gave up and instead of using the certificate method of validation, I used the PayPal signature.

So I removed the PEM file and am now using

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

and it works great. So... yeah, if anyone else if having problems with Active Merchant and PayPal, try swapping your authentication methods from certificate to signature.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top