Update order api endpoints

This commit is contained in:
tungquach 2019-04-21 10:08:48 +07:00
parent 0c3090ecb8
commit 1f766901f9
2 changed files with 9 additions and 28 deletions

View File

@ -34,10 +34,9 @@ Currently supports **v2** only, if you want to use **v1**, use **v1.1.4** git ta
* GET /v2/payments/sale/**ID**
* POST /v2/payments/sale/**ID**/refund
* GET /v2/payments/refund/**ID**
* GET /v2/payments/orders/**ID**
* POST /v2/payments/orders/**ID**/authorize
* POST /v2/payments/orders/**ID**/capture
* POST /v2/payments/orders/**ID**/do-void
* GET /v2/checkout/orders/**ID**
* POST /v2/checkout/orders/**ID**/authorize
* POST /v2/checkout/orders/**ID**/capture
* POST /v2/payments/billing-plans
* PATCH /v2/payments/billing-plans/***ID***
* POST /v2/payments/billing-agreements

View File

@ -3,11 +3,11 @@ package paypalsdk
import "fmt"
// GetOrder retrieves order by ID
// Endpoint: GET /v2/payments/orders/ID
// Endpoint: GET /v2/checkout/orders/ID
func (c *Client) GetOrder(orderID string) (*Order, error) {
order := &Order{}
req, err := c.NewRequest("GET", fmt.Sprintf("%s%s%s", c.APIBase, "/v2/payments/orders/", orderID), nil)
req, err := c.NewRequest("GET", fmt.Sprintf("%s%s%s", c.APIBase, "/v2/checkout/orders/", orderID), nil)
if err != nil {
return order, err
}
@ -20,7 +20,7 @@ func (c *Client) GetOrder(orderID string) (*Order, error) {
}
// AuthorizeOrder - Use this call to authorize an order.
// Endpoint: POST /v2/payments/orders/ID/authorize
// Endpoint: POST /v2/checkout/orders/ID/authorize
func (c *Client) AuthorizeOrder(orderID string, amount *Amount) (*Authorization, error) {
type authRequest struct {
Amount *Amount `json:"amount"`
@ -28,7 +28,7 @@ func (c *Client) AuthorizeOrder(orderID string, amount *Amount) (*Authorization,
auth := &Authorization{}
req, err := c.NewRequest("POST", fmt.Sprintf("%s%s", c.APIBase, "/v2/payments/orders/"+orderID+"/authorize"), authRequest{Amount: amount})
req, err := c.NewRequest("POST", fmt.Sprintf("%s%s", c.APIBase, "/v2/checkout/orders/"+orderID+"/authorize"), authRequest{Amount: amount})
if err != nil {
return auth, err
}
@ -41,7 +41,7 @@ func (c *Client) AuthorizeOrder(orderID string, amount *Amount) (*Authorization,
}
// CaptureOrder - Use this call to capture a payment on an order. To use this call, an original payment call must specify an intent of order.
// Endpoint: POST /v2/payments/orders/ID/capture
// Endpoint: POST /v2/checkout/orders/ID/capture
func (c *Client) CaptureOrder(orderID string, amount *Amount, isFinalCapture bool, currency *Currency) (*Capture, error) {
type captureRequest struct {
Amount *Amount `json:"amount"`
@ -51,7 +51,7 @@ func (c *Client) CaptureOrder(orderID string, amount *Amount, isFinalCapture boo
capture := &Capture{}
req, err := c.NewRequest("POST", fmt.Sprintf("%s%s", c.APIBase, "/v2/payments/orders/"+orderID+"/capture"), captureRequest{Amount: amount, IsFinalCapture: isFinalCapture, Currency: currency})
req, err := c.NewRequest("POST", fmt.Sprintf("%s%s", c.APIBase, "/v2/checkout/orders/"+orderID+"/capture"), captureRequest{Amount: amount, IsFinalCapture: isFinalCapture, Currency: currency})
if err != nil {
return capture, err
}
@ -62,21 +62,3 @@ func (c *Client) CaptureOrder(orderID string, amount *Amount, isFinalCapture boo
return capture, nil
}
// VoidOrder - Use this call to void an existing order.
// Note: An order cannot be voided if payment has already been partially or fully captured.
// Endpoint: POST /v2/payments/orders/ID/do-void
func (c *Client) VoidOrder(orderID string) (*Order, error) {
order := &Order{}
req, err := c.NewRequest("POST", fmt.Sprintf("%s%s", c.APIBase, "/v2/payments/orders/"+orderID+"/do-void"), nil)
if err != nil {
return order, err
}
if err = c.SendWithAuth(req, order); err != nil {
return order, err
}
return order, nil
}