diff --git a/app/controllers/spree/admin/payments_controller.rb b/app/controllers/spree/admin/payments_controller.rb index 0b5732caa1..8b5f42c472 100644 --- a/app/controllers/spree/admin/payments_controller.rb +++ b/app/controllers/spree/admin/payments_controller.rb @@ -135,7 +135,9 @@ module Spree return unless @payment.payment_method.class == Spree::Gateway::StripeSCA @payment.authorize! - raise Spree::Core::GatewayError, I18n.t('authorization_failure') unless @payment.pending? + return if @payment.pending? && @payment.cvv_response_message.nil? + + raise Spree::Core::GatewayError, I18n.t('authorization_failure') end end end diff --git a/spec/features/admin/payments_stripe_spec.rb b/spec/features/admin/payments_stripe_spec.rb index 1a3d6047bf..f030d32451 100644 --- a/spec/features/admin/payments_stripe_spec.rb +++ b/spec/features/admin/payments_stripe_spec.rb @@ -78,8 +78,8 @@ feature ' click_button "Update" expect(page).to have_link "StripeSCA" - expect(page).to have_content "PROCESSING" - expect(OrderPaymentFinder.new(order.reload).last_payment.state).to eq "processing" + expect(page).to have_content "PENDING" + expect(OrderPaymentFinder.new(order.reload).last_payment.state).to eq "pending" end end end