Class: Spree::Checkout::RemoveStoreCredit

Inherits:
Object
  • Object
show all
Includes:
ServiceModule::Base
Defined in:
app/services/spree/checkout/remove_store_credit.rb

Instance Method Summary collapse

Methods included from ServiceModule::Base

prepended

Instance Method Details

#call(order:) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'app/services/spree/checkout/remove_store_credit.rb', line 6

def call(order:)
  return failed unless order

  ApplicationRecord.transaction do
    order.payments.checkout.store_credits.map(&:invalidate!) unless order.completed?
  end

  order.reload.payments.store_credits.valid.any? ? failure(order) : success(order)
end