From 0e1f9b0d3cae09a55f24381e2dc091a02a53b1b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20T=C3=B6rnberg?= Date: Wed, 3 Dec 2025 23:04:37 +0100 Subject: [PATCH] update --- cmd/checkout/pool-server.go | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/cmd/checkout/pool-server.go b/cmd/checkout/pool-server.go index a270fbb..ca29eba 100644 --- a/cmd/checkout/pool-server.go +++ b/cmd/checkout/pool-server.go @@ -386,14 +386,22 @@ func (s *CheckoutPoolServer) GetPaymentSessionHandler(w http.ResponseWriter, r * } switch payment.Provider { case "adyen": - // Get Adyen session details - service := s.adyenClient.Checkout() - req := service.PaymentsApi.GetResultOfPaymentSessionInput(payment.PaymentId) - res, _, err := service.PaymentsApi.GetResultOfPaymentSession(r.Context(), req) + // For Adyen, recreate the session with updated cart data + // The frontend uses this to reinitialize the Drop-in component + meta := GetCheckoutMetaFromRequest(r) + sessionData, err := BuildAdyenCheckoutSession(grain, meta) if err != nil { + logger.Error("unable to build adyen session", "error", err) return err } - return s.WriteResult(w, res) + service := s.adyenClient.Checkout() + req := service.PaymentsApi.SessionsInput().CreateCheckoutSessionRequest(*sessionData) + session, _, err := service.PaymentsApi.Sessions(r.Context(), req) + if err != nil { + logger.Error("unable to create adyen session", "error", err) + return err + } + return s.WriteResult(w, session) case "klarna": order, err := s.CreateOrUpdateCheckout(r, grain, &payment.PaymentId) if err != nil {