mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Extract #process_payment_completion!
This commit is contained in:
@@ -50,6 +50,21 @@ module OrderCompletion
|
||||
redirect_to main_app.shop_path
|
||||
end
|
||||
|
||||
def process_payment_completion!
|
||||
return processing_failed unless @order.process_payments!
|
||||
|
||||
if OrderWorkflow.new(@order).next && @order.complete?
|
||||
processing_succeeded
|
||||
redirect_to order_completion_route
|
||||
else
|
||||
processing_failed
|
||||
redirect_to order_failed_route
|
||||
end
|
||||
rescue Spree::Core::GatewayError => e
|
||||
gateway_error(e)
|
||||
processing_failed
|
||||
end
|
||||
|
||||
def processing_succeeded
|
||||
Checkout::PostCheckoutActions.new(@order).success(params, spree_current_user)
|
||||
order_completion_reset(@order)
|
||||
|
||||
@@ -49,16 +49,8 @@ module PaymentGateways
|
||||
amount: @order.total,
|
||||
payment_method: payment_method
|
||||
)
|
||||
@order.process_payments!
|
||||
@order.next
|
||||
|
||||
if @order.complete?
|
||||
processing_succeeded
|
||||
redirect_to order_completion_route
|
||||
else
|
||||
processing_failed
|
||||
redirect_to order_failed_route
|
||||
end
|
||||
process_payment_completion!
|
||||
end
|
||||
|
||||
def cancel
|
||||
|
||||
@@ -9,7 +9,7 @@ class StripeController < BaseController
|
||||
def confirm
|
||||
return processing_failed unless valid_payment_intent?
|
||||
|
||||
process_payment_completion
|
||||
process_payment_completion!
|
||||
end
|
||||
|
||||
private
|
||||
@@ -34,21 +34,6 @@ class StripeController < BaseController
|
||||
end
|
||||
end
|
||||
|
||||
def process_payment_completion
|
||||
return processing_failed unless @order.process_payments!
|
||||
|
||||
if OrderWorkflow.new(@order).next && @order.complete?
|
||||
processing_succeeded
|
||||
redirect_to order_completion_route
|
||||
else
|
||||
processing_failed
|
||||
redirect_to order_failed_route
|
||||
end
|
||||
rescue Spree::Core::GatewayError => e
|
||||
gateway_error(e)
|
||||
processing_failed
|
||||
end
|
||||
|
||||
def cancel_incomplete_payments
|
||||
# The checkout could not complete due to stock running out. We void any pending (incomplete)
|
||||
# Stripe payments here as the order will need to be changed and resubmitted (or abandoned).
|
||||
|
||||
Reference in New Issue
Block a user