Sha256: 6a8af2174dcba82e584bd61c496c86aa9f003d70930774139ba16df532ffb87e

Contents?: true

Size: 1.69 KB

Versions: 4

Compression:

Stored size: 1.69 KB

Contents

module Braintree
  # See http://www.braintreepayments.com/docs/ruby/general/card_verification
  class CreditCardVerification
    include BaseModule

    module Status
      FAILED = 'failed'
      GATEWAY_REJECTED = 'gateway_rejected'
      PROCESSOR_DECLINED = 'processor_declined'
      VERIFIED = 'verified'
    end

    attr_reader :avs_error_response_code, :avs_postal_code_response_code, :avs_street_address_response_code,
      :cvv_response_code, :merchant_account_id, :processor_response_code, :processor_response_text, :status,
      :id, :gateway_rejection_reason, :credit_card, :billing, :created_at, :risk_data

    def initialize(attributes) # :nodoc:
      set_instance_variables_from_hash(attributes)
      @risk_data = RiskData.new(attributes[:risk_data]) if attributes[:risk_data]
    end

    def inspect # :nodoc:
      attr_order = [
        :status, :processor_response_code, :processor_response_text,
        :cvv_response_code, :avs_error_response_code,
        :avs_postal_code_response_code, :avs_street_address_response_code,
        :merchant_account_id, :gateway_rejection_reason, :id, :credit_card, :billing, :created_at
      ]
      formatted_attrs = attr_order.map do |attr|
        "#{attr}: #{send(attr).inspect}"
      end
      "#<#{self.class} #{formatted_attrs.join(", ")}>"
    end

    class << self
      protected :new
    end

    def self._new(*args) # :nodoc:
      self.new *args
    end

    def self.find(id)
      Configuration.gateway.verification.find(id)
    end

    def self.search(&block)
      Configuration.gateway.verification.search(&block)
    end

    def ==(other)
      return false unless other.is_a?(CreditCardVerification)
      id == other.id
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
braintree-2.40.0 lib/braintree/credit_card_verification.rb
braintree-2.39.0 lib/braintree/credit_card_verification.rb
braintree-2.38.0 lib/braintree/credit_card_verification.rb
braintree-2.37.0 lib/braintree/credit_card_verification.rb