JFIF  x x C         C     "        } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz        w !1AQ aq"2B #3Rbr{ gilour
<?php namespace Mollie\Api\Endpoints; use Mollie\Api\Exceptions\ApiException; use Mollie\Api\Resources\LazyCollection; use Mollie\Api\Resources\SalesInvoice; use Mollie\Api\Resources\SalesInvoiceCollection; class SalesInvoiceEndpoint extends CollectionEndpointAbstract { protected $resourcePath = "sales-invoices"; /** * @var string */ public const RESOURCE_ID_PREFIX = 'invoice_'; /** * @return SalesInvoice */ protected function getResourceObject(): SalesInvoice { return new SalesInvoice($this->client); } /** * Get the collection object that is used by this API endpoint. Every API endpoint uses one type of collection object. * * @param int $count * @param \stdClass $_links * * @return SalesInvoiceCollection */ protected function getResourceCollectionObject($count, $_links): SalesInvoiceCollection { return new SalesInvoiceCollection($this->client, $count, $_links); } /** * Creates a payment in Mollie. * * @param array $data An array containing details on the payment. * * @return SalesInvoice * @throws ApiException */ public function create(array $data = []): SalesInvoice { return $this->rest_create($data, []); } /** * Update the given Payment. * * Will throw a ApiException if the payment id is invalid or the resource cannot be found. * * @param string $salesInvoiceId * * @param array $data * @return SalesInvoice * @throws ApiException */ public function update($salesInvoiceId, array $data = []): SalesInvoice { if (empty($salesInvoiceId) || strpos($salesInvoiceId, self::RESOURCE_ID_PREFIX) !== 0) { throw new ApiException("Invalid sales invoice ID: '{$salesInvoiceId}'. A sales invoice ID should start with '" . self::RESOURCE_ID_PREFIX . "'."); } return parent::rest_update($salesInvoiceId, $data); } /** * @param string $salesInvoiceId * @param array $parameters * @return SalesInvoice * @throws ApiException */ public function get($salesInvoiceId, array $parameters = []): SalesInvoice { if (empty($salesInvoiceId) || strpos($salesInvoiceId, self::RESOURCE_ID_PREFIX) !== 0) { throw new ApiException("Invalid sales invoice ID: '{$salesInvoiceId}'. A sales invoice ID should start with '" . self::RESOURCE_ID_PREFIX . "'."); } return parent::rest_read($salesInvoiceId, $parameters); } /** * @param string $salesInvoiceId * * @param array $data * @throws ApiException */ public function delete($salesInvoiceId, array $data = []): void { $this->rest_delete($salesInvoiceId, $data); } /** * @param string $from The first payment ID you want to include in your list. * @param int $limit * * @return SalesInvoiceCollection * @throws ApiException */ public function page($from = null, $limit = null) { return $this->rest_list($from, $limit, []); } /** * @param string $from The first resource ID you want to include in your list. * @param int $limit * @param bool $iterateBackwards Set to true for reverse order iteration (default is false). * * @return LazyCollection */ public function iterator(?string $from = null, ?int $limit = null, bool $iterateBackwards = false): LazyCollection { return $this->rest_iterator($from, $limit, [], $iterateBackwards); } }