diff --git a/bp/cart/global_routes.py b/bp/cart/global_routes.py index 684f663..ba2459f 100644 --- a/bp/cart/global_routes.py +++ b/bp/cart/global_routes.py @@ -13,7 +13,6 @@ from .services import ( current_cart_identity, get_cart, total, - clear_cart_for_order, get_calendar_cart_entries, calendar_total, get_ticket_cart_entries, @@ -184,8 +183,6 @@ def register(url_prefix: str) -> Blueprint: description=description, page_config=page_config, ) - await clear_cart_for_order(g.s, order) - order.sumup_checkout_id = checkout_data.get("id") order.sumup_status = checkout_data.get("status") order.description = checkout_data.get("description") diff --git a/bp/cart/page_routes.py b/bp/cart/page_routes.py index 88c507f..6526093 100644 --- a/bp/cart/page_routes.py +++ b/bp/cart/page_routes.py @@ -9,7 +9,6 @@ from shared.browser.app.payments.sumup import create_checkout as sumup_create_ch from shared.config import config from .services import ( total, - clear_cart_for_order, calendar_total, ticket_total, ) @@ -107,8 +106,6 @@ def register(url_prefix: str) -> Blueprint: description=description, page_config=page_config, ) - await clear_cart_for_order(g.s, order, page_post_id=post.id) - order.sumup_checkout_id = checkout_data.get("id") order.sumup_status = checkout_data.get("status") order.description = checkout_data.get("description") diff --git a/bp/cart/services/check_sumup_status.py b/bp/cart/services/check_sumup_status.py index e81cade..269a03d 100644 --- a/bp/cart/services/check_sumup_status.py +++ b/bp/cart/services/check_sumup_status.py @@ -1,6 +1,7 @@ from shared.browser.app.payments.sumup import get_checkout as sumup_get_checkout from shared.events import emit_activity from shared.services.registry import services +from .clear_cart_for_order import clear_cart_for_order async def check_sumup_status(session, order): @@ -17,6 +18,11 @@ async def check_sumup_status(session, order): session, order.id, order.user_id, order.session_id ) await services.calendar.confirm_tickets_for_order(session, order.id) + + # Clear cart only after payment is confirmed + page_post_id = page_config.container_id if page_config else None + await clear_cart_for_order(session, order, page_post_id=page_post_id) + await emit_activity( session, activity_type="rose:OrderPaid",