Sha256: 2156b97495946bcca92055238a325be01ae6159140f8c799870626cb40377488

Contents?: true

Size: 1.43 KB

Versions: 2

Compression:

Stored size: 1.43 KB

Contents

module Braintree
  module PaymentMethodParser

    def self.parse_payment_method(gateway, attributes)
      if attributes[:credit_card]
        CreditCard._new(gateway, attributes[:credit_card])
      elsif attributes[:paypal_account]
        PayPalAccount._new(gateway, attributes[:paypal_account])
      elsif attributes[:coinbase_account]
        CoinbaseAccount._new(gateway, attributes[:coinbase_account])
      elsif attributes[:us_bank_account]
        UsBankAccount._new(gateway, attributes[:us_bank_account])
      elsif attributes[:apple_pay_card]
        ApplePayCard._new(gateway, attributes[:apple_pay_card])
      elsif attributes[:android_pay_card]
        # NEXT_MAJOR_VERSION rename Android Pay to Google Pay
        AndroidPayCard._new(gateway, attributes[:android_pay_card])
      elsif attributes[:amex_express_checkout_card]
        AmexExpressCheckoutCard._new(gateway, attributes[:amex_express_checkout_card])
      elsif attributes[:venmo_account]
        VenmoAccount._new(gateway, attributes[:venmo_account])
      elsif attributes[:visa_checkout_card]
        VisaCheckoutCard._new(gateway, attributes[:visa_checkout_card])
      elsif attributes[:masterpass_card]
        MasterpassCard._new(gateway, attributes[:masterpass_card])
      elsif attributes[:samsung_pay_card]
        SamsungPayCard._new(gateway, attributes[:samsung_pay_card])
      else
        UnknownPaymentMethod._new(gateway, attributes)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
braintree-2.104.1 lib/braintree/payment_method_parser.rb
braintree-2.104.0 lib/braintree/payment_method_parser.rb