Module: SpreeStripe::PaymentDecorator
- Defined in:
- app/models/spree_stripe/payment_decorator.rb
Constant Summary collapse
- AVS_CODES =
{ 'pass' => { 'pass' => 'Y', 'fail' => 'A', 'unchecked' => 'B' }, 'fail' => { 'pass' => 'Z', 'fail' => 'N' }, 'unchecked' => { 'pass' => 'P', 'unchecked' => 'I' } }.freeze
- CVV_CODES =
{ 'pass' => 'M', 'fail' => 'N', 'unchecked' => 'P' }.freeze
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.prepended(base) ⇒ Object
25 26 27 28 29 30 |
# File 'app/models/spree_stripe/payment_decorator.rb', line 25 def self.prepended(base) base.store_accessor :private_metadata, :stripe_charge_id base.store_accessor :private_metadata, :stripe_tax_transaction_id base.before_save :set_cvv_and_avs_response_from_metadata, if: :credit_card_source? end |
Instance Method Details
#credit_card_source? ⇒ Boolean
40 41 42 |
# File 'app/models/spree_stripe/payment_decorator.rb', line 40 def credit_card_source? source.present? && source.is_a?(Spree::CreditCard) end |
#set_cvv_and_avs_response_from_metadata ⇒ Object
32 33 34 35 36 37 38 |
# File 'app/models/spree_stripe/payment_decorator.rb', line 32 def checks = source.[:checks] return if checks.blank? self.avs_response ||= AVS_CODES.dig(checks[:address_line1_check], checks[:address_postal_code_check]) self.cvv_response_code ||= CVV_CODES[checks[:cvc_check]] end |