Class: Workarea::SetupKlarnaSession
- Inherits:
-
Object
- Object
- Workarea::SetupKlarnaSession
- Defined in:
- app/services/workarea/setup_klarna_session.rb
Instance Method Summary collapse
-
#initialize(checkout) ⇒ SetupKlarnaSession
constructor
A new instance of SetupKlarnaSession.
- #perform ⇒ Object
Constructor Details
#initialize(checkout) ⇒ SetupKlarnaSession
Returns a new instance of SetupKlarnaSession.
5 6 7 |
# File 'app/services/workarea/setup_klarna_session.rb', line 5 def initialize(checkout) @checkout = checkout end |
Instance Method Details
#perform ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/services/workarea/setup_klarna_session.rb', line 9 def perform return unless payment.eligible_for_klarna? session = Payment::KlarnaSession.find_or_initialize_by(id: order.id) if session.persisted? Klarna.gateway.update_session(order, session.session_id) else response = Klarna.gateway.create_session(order) return unless response.success? session.update!(response.body) end end |