add result endpoint
This commit is contained in:
@@ -726,13 +726,19 @@ func (s *PoolServer) CreateCheckoutOrderHandler(w http.ResponseWriter, r *http.R
|
|||||||
return s.WriteResult(w, reply)
|
return s.WriteResult(w, reply)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type SessionRequest struct {
|
||||||
|
SessionId string `json:"sessionId"`
|
||||||
|
SessionResult string `json:"sessionResult"`
|
||||||
|
SessionData string `json:"sessionData,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
func (s *PoolServer) AdyenSessionHandler(w http.ResponseWriter, r *http.Request, cartId cart.CartId) error {
|
func (s *PoolServer) AdyenSessionHandler(w http.ResponseWriter, r *http.Request, cartId cart.CartId) error {
|
||||||
|
|
||||||
grain, err := s.Get(r.Context(), uint64(cartId))
|
grain, err := s.Get(r.Context(), uint64(cartId))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if r.Method == http.MethodGet {
|
||||||
meta := GetCheckoutMetaFromRequest(r)
|
meta := GetCheckoutMetaFromRequest(r)
|
||||||
sessionData, err := BuildAdyenCheckoutSession(grain, meta)
|
sessionData, err := BuildAdyenCheckoutSession(grain, meta)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -746,6 +752,20 @@ func (s *PoolServer) AdyenSessionHandler(w http.ResponseWriter, r *http.Request,
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return s.WriteResult(w, res)
|
return s.WriteResult(w, res)
|
||||||
|
} else {
|
||||||
|
payload := &SessionRequest{}
|
||||||
|
if err := json.NewDecoder(r.Body).Decode(payload); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
service := s.adyenClient.Checkout()
|
||||||
|
req := service.PaymentsApi.GetResultOfPaymentSessionInput(payload.SessionId).SessionResult(payload.SessionResult)
|
||||||
|
res, _, err := service.PaymentsApi.GetResultOfPaymentSession(r.Context(), req)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return s.WriteResult(w, res)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *PoolServer) AdyenHookHandler(w http.ResponseWriter, r *http.Request) {
|
func (s *PoolServer) AdyenHookHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|||||||
Reference in New Issue
Block a user