From 3f3bfadb591012b9daafa23b04bb576273fc99d3 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Thu, 16 Dec 2021 23:10:10 +0000 Subject: [PATCH] Simplify StripeScaPaymentAuthorize and clarify both return URL types (checkout and off-session) --- app/controllers/spree/admin/payments_controller.rb | 3 +-- app/helpers/full_url_helper.rb | 4 ---- app/services/checkout/stripe_redirect.rb | 4 ++-- .../order/stripe_sca_payment_authorize.rb | 10 +++++++--- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/app/controllers/spree/admin/payments_controller.rb b/app/controllers/spree/admin/payments_controller.rb index 566701ea66..73a7ac7764 100644 --- a/app/controllers/spree/admin/payments_controller.rb +++ b/app/controllers/spree/admin/payments_controller.rb @@ -175,8 +175,7 @@ module Spree return unless @payment.payment_method.instance_of?(Spree::Gateway::StripeSCA) OrderManagement::Order::StripeScaPaymentAuthorize. - new(@order, payment: @payment, off_session: true). - call!(full_order_path(@order)) + new(@order, payment: @payment, off_session: true).call! raise Spree::Core::GatewayError, I18n.t('authorization_failure') if @order.errors.any? diff --git a/app/helpers/full_url_helper.rb b/app/helpers/full_url_helper.rb index e3bd833346..8c448f71fb 100644 --- a/app/helpers/full_url_helper.rb +++ b/app/helpers/full_url_helper.rb @@ -10,8 +10,4 @@ module FullUrlHelper def full_checkout_path URI.join(url_helpers.root_url, url_helpers.checkout_path).to_s end - - def full_order_path(order) - URI.join(url_helpers.root_url, url_helpers.order_path(order)).to_s - end end diff --git a/app/services/checkout/stripe_redirect.rb b/app/services/checkout/stripe_redirect.rb index 3188971de2..ed59e93e2e 100644 --- a/app/services/checkout/stripe_redirect.rb +++ b/app/services/checkout/stripe_redirect.rb @@ -14,7 +14,7 @@ module Checkout def path return unless stripe_payment_method? - payment = payment_authorizer.call!(return_url) + payment = payment_authorizer.call!(checkout_return_url) return if order.errors.any? @@ -33,7 +33,7 @@ module Checkout OrderManagement::Order::StripeScaPaymentAuthorize.new(order) end - def return_url + def checkout_return_url payment_gateways_confirm_stripe_url end 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 4a7839f614..46a78892fc 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 @@ -8,7 +8,7 @@ module OrderManagement module Order class StripeScaPaymentAuthorize - include FullUrlHelper + include Rails.application.routes.url_helpers def initialize(order, payment: nil, off_session: false, notify_hub: false) @order = order @@ -17,10 +17,10 @@ module OrderManagement @notify_hub = notify_hub end - def call!(redirect_url = full_order_path(order)) + def call!(return_url = off_session_return_url) return unless payment&.checkout? - payment.authorize!(redirect_url) + payment.authorize!(return_url) order.errors.add(:base, I18n.t('authorization_failure')) unless successfully_processed? send_auth_emails if requires_authorization_emails? @@ -44,6 +44,10 @@ module OrderManagement PaymentMailer.authorize_payment(payment).deliver_now PaymentMailer.authorization_required(payment).deliver_now if notify_hub end + + def off_session_return_url + order_url(order) + end end end end