Search code examples
rubypaypalactivemerchant

ActiveMerchant response gives StandardError for paypal.


Can't find the reason. It's just does not work. I have an error like that

test.rb:38:in `': A field was longer or shorter than the server allows (StandardError)

require "rubygems"
require "active_merchant" # 1.44

ActiveMerchant::Billing::Base.mode = :test

credit_card = ActiveMerchant::Billing::CreditCard.new(
  :brand              => 'Discover',
  :number             => "6011290531695840",
  :month              => 10,
  :year               => 2019,
  :first_name         => "Andrew",
  :last_name          => "Buyer",
  :verification_value => '123'
)

gateway = ActiveMerchant::Billing::TrustCommerceGateway.new(
  :login      => 'andrew.nashkolniy-facilitator_api1.gmail.com',
  :password   => 'TB6WUMTVUGYC6YAM'
)

amount = 100


if credit_card.validate.empty?

  response = gateway.authorize(amount, credit_card, :ip => "127.0.0.1")

  if response.success?
    gateway.capture(1000, response.authorization)
  else
    raise StandardError, response.message
  end
else
  puts "Error: credit card is not valid."
end

Solution

  • Not sure if I am right, but fixed the problem just by using different module in ActiveMerchant gem.

    TrustCommerceGateway changed for PaypalExpressGateway....

    I didn't found better solution.