update
This commit is contained in:
@@ -219,15 +219,44 @@ var (
|
|||||||
APIPassword = os.Getenv("KLARNA_API_PASSWORD")
|
APIPassword = os.Getenv("KLARNA_API_PASSWORD")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func (s *PoolServer) HandleConfirmation(w http.ResponseWriter, r *http.Request, id CartId) error {
|
||||||
|
orderId := r.PathValue("orderId")
|
||||||
|
if orderId == "" {
|
||||||
|
return fmt.Errorf("orderId is empty")
|
||||||
|
}
|
||||||
|
req, err := http.NewRequest("GET", fmt.Sprintf("https://api.playground.klarna.com/checkout/v3/orders/%s", orderId), nil)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
req.Header.Add("Content-Type", "application/json")
|
||||||
|
req.SetBasicAuth(APIUsername, APIPassword)
|
||||||
|
|
||||||
|
res, err := http.DefaultClient.Do(req)
|
||||||
|
if nil != err {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
buf := new(bytes.Buffer)
|
||||||
|
buf.ReadFrom(res.Body)
|
||||||
|
w.Header().Set("Content-Type", "application/json")
|
||||||
|
w.Header().Set("X-Pod-Name", s.pod_name)
|
||||||
|
w.Header().Set("Cache-Control", "no-cache")
|
||||||
|
w.Header().Set("Access-Control-Allow-Origin", "*")
|
||||||
|
w.WriteHeader(res.StatusCode)
|
||||||
|
|
||||||
|
w.Write(buf.Bytes())
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (s *PoolServer) HandleCheckout(w http.ResponseWriter, r *http.Request, id CartId) error {
|
func (s *PoolServer) HandleCheckout(w http.ResponseWriter, r *http.Request, id CartId) error {
|
||||||
|
|
||||||
reply, err := s.pool.Process(id, Message{
|
reply, err := s.pool.Process(id, Message{
|
||||||
Type: CreateCheckoutOrderType,
|
Type: CreateCheckoutOrderType,
|
||||||
Content: &messages.CreateCheckoutOrder{
|
Content: &messages.CreateCheckoutOrder{
|
||||||
Terms: "https://slask-finder.tornberg.me/terms",
|
Terms: "https://slask-finder.tornberg.me/terms",
|
||||||
Checkout: "https://slask-finder.tornberg.me/checkout",
|
Checkout: "https://slask-finder.tornberg.me/checkout?order_id={checkout.order.id}",
|
||||||
Confirmation: "https://slask-finder.tornberg.me/confirmation",
|
Confirmation: "https://slask-finder.tornberg.me/confirmation/{checkout.order.id}",
|
||||||
Push: "https://cart.tornberg.me/push",
|
Push: "https://cart.tornberg.me/push?order_id={checkout.order.id}",
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -314,6 +343,7 @@ func (s *PoolServer) Serve() *http.ServeMux {
|
|||||||
mux.HandleFunc("DELETE /delivery/{deliveryId}", ErrorHandler(CookieCartIdHandler(s.HandleRemoveDelivery)))
|
mux.HandleFunc("DELETE /delivery/{deliveryId}", ErrorHandler(CookieCartIdHandler(s.HandleRemoveDelivery)))
|
||||||
mux.HandleFunc("PUT /delivery/{deliveryId}/pickupPoint", ErrorHandler(CookieCartIdHandler(s.HandleSetPickupPoint)))
|
mux.HandleFunc("PUT /delivery/{deliveryId}/pickupPoint", ErrorHandler(CookieCartIdHandler(s.HandleSetPickupPoint)))
|
||||||
mux.HandleFunc("GET /checkout", ErrorHandler(CookieCartIdHandler(s.HandleCheckout)))
|
mux.HandleFunc("GET /checkout", ErrorHandler(CookieCartIdHandler(s.HandleCheckout)))
|
||||||
|
mux.HandleFunc("GET /confirmation/{orderId}", ErrorHandler(CookieCartIdHandler(s.HandleConfirmation)))
|
||||||
|
|
||||||
mux.HandleFunc("GET /byid/{id}", ErrorHandler(CartIdHandler(s.HandleGet)))
|
mux.HandleFunc("GET /byid/{id}", ErrorHandler(CartIdHandler(s.HandleGet)))
|
||||||
mux.HandleFunc("GET /byid/{id}/add/{sku}", ErrorHandler(CartIdHandler(s.HandleAddSku)))
|
mux.HandleFunc("GET /byid/{id}/add/{sku}", ErrorHandler(CartIdHandler(s.HandleAddSku)))
|
||||||
|
|||||||
Reference in New Issue
Block a user