test
All checks were successful
Build and Publish / BuildAndDeployAmd64 (push) Successful in 44s
Build and Publish / BuildAndDeployArm64 (push) Successful in 4m37s

This commit is contained in:
matst80
2025-12-04 17:08:31 +01:00
parent 0ef29596c1
commit 978ef3025d

View File

@@ -400,28 +400,30 @@ func (s *CheckoutPoolServer) GetPaymentSessionHandler(w http.ResponseWriter, r *
}
switch payment.Provider {
case "adyen":
// 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
var payload *SessionRequest
if r.Method != http.MethodGet {
payload = &SessionRequest{}
if err := json.NewDecoder(r.Body).Decode(payload); err != nil {
return err
}
}
service := s.adyenClient.Checkout()
req := service.PaymentsApi.SessionsInput().CreateCheckoutSessionRequest(*sessionData)
session, _, err := service.PaymentsApi.Sessions(r.Context(), req)
req := service.PaymentsApi.GetResultOfPaymentSessionInput(payload.SessionId)
if payload != nil {
req = req.SessionResult(payload.SessionResult)
}
res, _, err := service.PaymentsApi.GetResultOfPaymentSession(r.Context(), req)
if err != nil {
logger.Error("unable to create adyen session", "error", err)
return err
}
return s.WriteResult(w, session)
return s.WriteResult(w, res)
case "klarna":
order, err := s.CreateOrUpdateCheckout(r, grain, &payment.PaymentId)
current, err := s.klarnaClient.GetOrder(r.Context(), paymentId)
if err != nil {
return err
}
return s.WriteResult(w, order)
return s.WriteResult(w, current)
}
return errors.New("unsupported payment provider")