diff --git a/v5/client.go b/v5/client.go index e7afc63..33ac384 100644 --- a/v5/client.go +++ b/v5/client.go @@ -2489,6 +2489,7 @@ func (c *Client) OrderPaymentEdit(payment Payment, by string, site ...string) (S paymentJSON, _ := json.Marshal(&payment) p := url.Values{ + "by": {context}, "payment": {string(paymentJSON[:])}, } diff --git a/v5/client_test.go b/v5/client_test.go index 73282fd..80c8de8 100644 --- a/v5/client_test.go +++ b/v5/client_test.go @@ -3238,6 +3238,41 @@ func TestClient_OrderMethods(t *testing.T) { } } +func TestClient_OrderPaymentEdit(t *testing.T) { + c := client() + payment := Payment{ + ExternalID: RandomString(8), + } + + defer gock.Off() + + jr, _ := json.Marshal(&payment) + p := url.Values{ + "by": {"externalId"}, + "payment": {string(jr[:])}, + } + + gock.New(crmURL). + Post(fmt.Sprintf("/orders/payments/%s/edit", payment.ExternalID)). + MatchType("url"). + BodyString(p.Encode()). + Reply(200). + BodyString(`{"success": true}`) + + data, status, err := c.OrderPaymentEdit(payment, "externalId") + if err.Error() != "" { + t.Errorf("%v", err.Error()) + } + + if status >= http.StatusBadRequest { + t.Errorf("%v", err.ApiError()) + } + + if data.Success != true { + t.Errorf("%v", err.ApiError()) + } +} + func TestClient_OrderTypes(t *testing.T) { c := client()