diff --git a/app/controllers/spree/admin/payments_controller.rb b/app/controllers/spree/admin/payments_controller.rb index b93034750a..bdc610e8a7 100644 --- a/app/controllers/spree/admin/payments_controller.rb +++ b/app/controllers/spree/admin/payments_controller.rb @@ -157,7 +157,7 @@ module Spree raise Spree::Core::GatewayError, I18n.t('authorization_failure') unless @payment.pending? - return unless @payment.cvv_response_message.present? + return unless @payment.authorization_action_required? PaymentMailer.authorize_payment(@payment).deliver_later raise Spree::Core::GatewayError, I18n.t('action_required') diff --git a/app/models/spree/credit_card.rb b/app/models/spree/credit_card.rb index 2a10e78794..5a4efea485 100644 --- a/app/models/spree/credit_card.rb +++ b/app/models/spree/credit_card.rb @@ -83,12 +83,12 @@ module Spree end def can_resend_authorization_email?(payment) - payment.pending? && payment.cvv_response_message.present? + payment.pending? && payment.authorization_action_required? end # Indicates whether its possible to capture the payment def can_capture?(payment) - return false if payment.cvv_response_message.present? + return false if payment.authorization_action_required? payment.pending? || payment.checkout? end diff --git a/app/models/spree/payment.rb b/app/models/spree/payment.rb index 3bd1bcd4a3..d61f8f5676 100644 --- a/app/models/spree/payment.rb +++ b/app/models/spree/payment.rb @@ -122,7 +122,7 @@ module Spree end def resend_authorization_email! - return unless cvv_response_message.present? + return unless authorization_action_required? PaymentMailer.authorize_payment(self).deliver_later end diff --git a/app/models/spree/payment/processing.rb b/app/models/spree/payment/processing.rb index d881389a65..80d9d2dc0f 100644 --- a/app/models/spree/payment/processing.rb +++ b/app/models/spree/payment/processing.rb @@ -15,7 +15,7 @@ module Spree def process_offline! return unless validate! - return if cvv_response_message.present? + return if authorization_action_required? if payment_method.auto_capture? charge_offline! @@ -186,6 +186,10 @@ module Spree options end + def authorization_action_required? + cvv_response_message.present? + end + private def validate! diff --git a/engines/order_management/app/services/order_management/order/stripe_sca_payment_authorize.rb b/engines/order_management/app/services/order_management/order/stripe_sca_payment_authorize.rb index 82a79b5139..f955ed2be8 100644 --- a/engines/order_management/app/services/order_management/order/stripe_sca_payment_authorize.rb +++ b/engines/order_management/app/services/order_management/order/stripe_sca_payment_authorize.rb @@ -17,7 +17,7 @@ module OrderManagement @order.errors.add(:base, I18n.t('authorization_failure')) unless @payment.pending? - if send_emails && @payment.cvv_response_message.present? + if send_emails && @payment.authorization_action_required? PaymentMailer.authorize_payment(@payment).deliver_now PaymentMailer.authorization_required(@payment).deliver_now end