diff --git a/app/models/spree/payment.rb b/app/models/spree/payment.rb index 8b54e5c760..754119034a 100644 --- a/app/models/spree/payment.rb +++ b/app/models/spree/payment.rb @@ -187,7 +187,7 @@ module Spree # Makes newly entered payments invalidate previously entered payments so the most recent payment # is used by the gateway. def invalidate_old_payments - order.payments.with_state('checkout').where("id != ?", id).each do |payment| + order.payments.with_state('checkout').where.not(id: id).each do |payment| # Using update_column skips validations and so it skips validate_source. As we are just # invalidating past payments here, we don't want to validate all of them at this stage. payment.update_column(:state, 'invalid')