test
This commit is contained in:
@@ -400,28 +400,30 @@ func (s *CheckoutPoolServer) GetPaymentSessionHandler(w http.ResponseWriter, r *
|
|||||||
}
|
}
|
||||||
switch payment.Provider {
|
switch payment.Provider {
|
||||||
case "adyen":
|
case "adyen":
|
||||||
// For Adyen, recreate the session with updated cart data
|
var payload *SessionRequest
|
||||||
// The frontend uses this to reinitialize the Drop-in component
|
if r.Method != http.MethodGet {
|
||||||
meta := GetCheckoutMetaFromRequest(r)
|
payload = &SessionRequest{}
|
||||||
sessionData, err := BuildAdyenCheckoutSession(grain, meta)
|
if err := json.NewDecoder(r.Body).Decode(payload); err != nil {
|
||||||
if err != nil {
|
|
||||||
logger.Error("unable to build adyen session", "error", err)
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
}
|
||||||
service := s.adyenClient.Checkout()
|
service := s.adyenClient.Checkout()
|
||||||
req := service.PaymentsApi.SessionsInput().CreateCheckoutSessionRequest(*sessionData)
|
req := service.PaymentsApi.GetResultOfPaymentSessionInput(payload.SessionId)
|
||||||
session, _, err := service.PaymentsApi.Sessions(r.Context(), req)
|
if payload != nil {
|
||||||
|
req = req.SessionResult(payload.SessionResult)
|
||||||
|
}
|
||||||
|
res, _, err := service.PaymentsApi.GetResultOfPaymentSession(r.Context(), req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("unable to create adyen session", "error", err)
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return s.WriteResult(w, session)
|
return s.WriteResult(w, res)
|
||||||
case "klarna":
|
case "klarna":
|
||||||
order, err := s.CreateOrUpdateCheckout(r, grain, &payment.PaymentId)
|
current, err := s.klarnaClient.GetOrder(r.Context(), paymentId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
||||||
}
|
}
|
||||||
return s.WriteResult(w, order)
|
return s.WriteResult(w, current)
|
||||||
}
|
}
|
||||||
|
|
||||||
return errors.New("unsupported payment provider")
|
return errors.New("unsupported payment provider")
|
||||||
|
|||||||
Reference in New Issue
Block a user