Class: SpreeAdyen::PaymentSetupSessions::CreateSourceFromResult

Inherits:
Object
  • Object
show all
Defined in:
app/services/spree_adyen/payment_setup_sessions/create_source_from_result.rb

Overview

Creates a payment source from an Adyen Sessions result payload (the synchronous complete-session response, not a webhook). Cards may be missing last4/expiry —those are backfilled by the AUTHORISATION webhook handler.

Instance Method Summary collapse

Constructor Details

#initialize(setup_session:, response_params:) ⇒ CreateSourceFromResult

Returns a new instance of CreateSourceFromResult.



7
8
9
10
# File 'app/services/spree_adyen/payment_setup_sessions/create_source_from_result.rb', line 7

def initialize(setup_session:, response_params:)
  @setup_session = setup_session
  @response_params = response_params.to_h.with_indifferent_access
end

Instance Method Details

#callObject



12
13
14
15
16
17
18
19
20
# File 'app/services/spree_adyen/payment_setup_sessions/create_source_from_result.rb', line 12

def call
  return nil if stored_payment_method_id.blank?

  if credit_card_brand?
    find_or_create_credit_card
  else
    find_or_create_alternative_source
  end
end