$this->billable->request('PUT', sprintf('v1/orders/%s', $this->id), $attributes))) ->setBillable($this->billable); } /** * Checkout given order from the current user. * * @throws Throwable */ public function checkout(): self { return (new self(fn() => $this->billable->request('PUT', sprintf('v1/orders/%s/checkout', $this->id)))) ->setBillable($this->billable); } /** * Revoke given order from the current user. * * @throws Throwable */ public function revoke(): self { return (new self(fn() => $this->billable->request('PUT', sprintf('v1/orders/%s/revoke', $this->id)))) ->setBillable($this->billable); } /** * Delete given order from the current user. * * @throws Throwable */ public function delete(): bool { return $this->billable->request('DELETE', sprintf('v1/orders/%s', $this->id))->success(); } /** * Get order items from given order. * * @throws Throwable */ public function orderItems(array $parameters = []): OrderItems { return OrderItems::builder(fn() => $this->billable->request('GET', sprintf('v1/orders/%s/items', $this->id), [], $parameters)) ->setBillable($this->billable) ->setParent($this); } }