diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index e86d803f6..c2f1f3583 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v832 \ No newline at end of file +v833 \ No newline at end of file diff --git a/lib/InvoiceLineItem.php b/lib/InvoiceLineItem.php index ba4ce3dd5..15eb3212c 100644 --- a/lib/InvoiceLineItem.php +++ b/lib/InvoiceLineItem.php @@ -34,4 +34,6 @@ class InvoiceLineItem extends ApiResource { const OBJECT_NAME = 'line_item'; + + use ApiOperations\Update; } diff --git a/lib/Service/InvoiceService.php b/lib/Service/InvoiceService.php index 6bd77a287..11bb869e0 100644 --- a/lib/Service/InvoiceService.php +++ b/lib/Service/InvoiceService.php @@ -275,6 +275,28 @@ public function update($id, $params = null, $opts = null) return $this->request('post', $this->buildPath('/v1/invoices/%s', $id), $params, $opts); } + /** + * Updates an invoice’s line item. Some fields, such as tax_amounts, + * only live on the invoice line item, so they can only be updated through this + * endpoint. Other fields, such as amount, live on both the invoice + * item and the invoice line item, so updates on this endpoint will propagate to + * the invoice item as well. Updating an invoice’s line item is only possible + * before the invoice is finalized. + * + * @param string $parentId + * @param string $id + * @param null|array $params + * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts + * + * @throws \Stripe\Exception\ApiErrorException if the request fails + * + * @return \Stripe\InvoiceLineItem + */ + public function updateLine($parentId, $id, $params = null, $opts = null) + { + return $this->request('post', $this->buildPath('/v1/invoices/%s/lines/%s', $parentId, $id), $params, $opts); + } + /** * Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is * similar to deletion, however it only applies to