Sha256: 1ba2e706aba81dd67fdff577570c0ec53ece72883bacc500c411eda260bdf35d

Contents?: true

Size: 1.31 KB

Versions: 1

Compression:

Stored size: 1.31 KB

Contents

module ActiveMerchant #:nodoc:
  module Billing #:nodoc:
    class PaypalExpressResponse < Response
      def email
        @params['PayerInfo']['Payer']
      end
      
      def name
        payer = @params['PayerInfo']['PayerName']
        [payer['FirstName'], payer['MiddleName'], payer['LastName']].compact.join(' ')
      end
      
      def token
        @params['Token']
      end
      
      def payer_id
        @params['PayerInfo']['PayerID']
      end
      
      def payer_country
        @params['PayerInfo']['PayerCountry']
      end
      
      # PayPal returns a contact telephone number only if your Merchant account profile settings require that the buyer enter one.
      def contact_phone
        @params['ContactPhone']
      end
      
      def address
        address = @params['PaymentDetails']['ShipToAddress']
        {  'name'       => address['Name'],
           'company'    => @params['PayerInfo']['PayerBusiness'],
           'address1'   => address['Street1'],
           'address2'   => address['Street2'],
           'city'       => address['CityName'],
           'state'      => address['StateOrProvince'],
           'country'    => address['Country'],
           'zip'        => address['PostalCode'],
           'phone'      => contact_phone || address['Phone']
        }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activemerchant-1.13.0 lib/active_merchant/billing/gateways/paypal/paypal_express_response.rb