-
-
Notifications
You must be signed in to change notification settings - Fork 730
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Split Checkout] Payments with non-3D cards need to be manually captured in the BO #8952
Comments
I'm not sure to manage to handle this one. |
I've currently taken UK testers off split checkout due to this issue - any rough timescale for a resolution? |
@mkllnk do you have some room to look at it? George has already a pile of bug on his plate 😅 thanks @BethanOFN for the feedback! I will let you know as soon as it is fixed. |
Updated the description:
I've checked this in the context of #10014 and in master: Manually capturing the payment on the backoffice marked the payment as captured on the Stripe Dashboard 👍 |
@abdellani On legacy checkout (your screenshot) this is working. You need to enable split checkout to reproduce the issue. |
@drummer83 |
https://github.com/openfoodfoundation/openfoodnetwork/wiki/Feature-toggles You need to log in as super admin and open /admin/feature-toggle. EDIT: Updated the mentioned page. |
After comparing the legacy checkout with the split checkout. I noticed that the In the legacy checkout controller, the submit request trigger a loop that keeps the order moving from one state to another unit it reaches the final state Note: there are other order states, but it looks like they are not used in this context. For example: def checkout_workflow(shipping_method_id)
while @order.state != "complete"
if @order.state == "payment"
update_payment_total
return if redirect_to_payment_gateway
return action_failed if @order.errors.any?
return action_failed unless @order.process_payments! # <<<<<<<<
end
next if OrderWorkflow.new(@order).next({ "shipping_method_id" => shipping_method_id })
return action_failed
end
update_response
end In the split checkout, we don't need to use the same loop as every state is represented by a different view. The user controls the order transition from one state to another. In the new context, we can't process the payment when the order is in the def confirm_order
return unless summary_step? && @order.confirmation?
return unless validate_summary! && @order.errors.empty?
@order.customer.touch :terms_and_conditions_accepted_at
return true if redirect_to_payment_gateway
@order.process_payments!
@order.confirm!
order_completion_reset @order
end I thought about adding |
Description
Payments with non-3D cards need to be manually captured in the BO.
Despite manually capturing them they still appear as not-captured on the Stripe Dashboard.Expected Behavior
Actual Behaviour
Steps to Reproduce
Animated Gif/Screenshot
The text was updated successfully, but these errors were encountered: