Class: SpreeAdyen::PaymentSetupSessions::CreateSourceFromResult
- Inherits:
-
Object
- Object
- SpreeAdyen::PaymentSetupSessions::CreateSourceFromResult
- 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
- #call ⇒ Object
-
#initialize(setup_session:, response_params:) ⇒ CreateSourceFromResult
constructor
A new instance of CreateSourceFromResult.
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
#call ⇒ Object
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 |