From 8e876a2b3c258516a89ae4216fa949dcc9ac4f6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=9D=2E=20=D0=9D=D0=B8?= =?UTF-8?q?=D0=BA=D0=BE=D0=BB=D0=B0=D0=B5=D0=B2?= Date: Mon, 9 Nov 2020 09:52:22 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B0=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8F=20yandex-money=20?= =?UTF-8?q?->=20yoomoney.=20=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20SDK=20=D0=B4=D0=BE=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8?= =?UTF-8?q?=D0=B8=201.6.8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 + README.md | 2 +- payment/YandexMoneyApi/YandexMoneyApi.php | 4 +- payment/YandexMoneyApi/composer.json | 2 +- .../yandex-checkout-sdk-php/lib/Client.php | 17 +- .../lib/Common/AbstractRequestBuilder.php | 5 +- .../Model/PaymentData/PaymentDataWechat.php | 3 + .../PaymentMethod/PaymentMethodWechat.php | 3 + .../lib/Model/PaymentMethodType.php | 3 + .../lib/Model/ReceiptType.php | 13 +- .../lib/Model/Refund.php | 39 +- .../lib/Model/RefundInterface.php | 9 +- .../lib/Request/Payments/PaymentsRequest.php | 426 ++++++++++++--- .../Payments/PaymentsRequestBuilder.php | 113 +++- .../Payments/PaymentsRequestInterface.php | 10 +- .../Payments/PaymentsRequestSerializer.php | 10 +- .../lib/Request/Payments/PaymentsResponse.php | 45 +- .../Receipts/AbstractReceiptResponse.php | 11 +- .../Receipts/CreatePostReceiptRequest.php | 5 - .../CreatePostReceiptRequestBuilder.php | 5 +- .../Receipts/ReceiptResponseFactory.php | 9 +- .../lib/Request/Receipts/ReceiptsRequest.php | 509 ++++++++++++++++++ .../Receipts/ReceiptsRequestBuilder.php | 195 +++++++ .../Receipts/ReceiptsRequestInterface.php | 153 ++++++ .../Receipts/ReceiptsRequestSerializer.php | 73 +++ .../lib/Request/Receipts/ReceiptsResponse.php | 26 + .../Receipts/SimpleReceiptResponse.php | 46 ++ .../Refunds/AbstractRefundResponse.php | 4 +- .../Request/Refunds/CreateRefundRequest.php | 53 +- .../Refunds/CreateRefundRequestBuilder.php | 17 +- .../Refunds/CreateRefundRequestInterface.php | 16 +- .../Refunds/CreateRefundRequestSerializer.php | 8 +- .../lib/Request/Refunds/RefundsRequest.php | 422 ++++++--------- .../Request/Refunds/RefundsRequestBuilder.php | 50 +- .../Refunds/RefundsRequestInterface.php | 86 +-- .../Refunds/RefundsRequestSerializer.php | 21 +- .../lib/Request/Refunds/RefundsResponse.php | 30 +- 37 files changed, 1927 insertions(+), 520 deletions(-) create mode 100644 payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsRequest.php create mode 100644 payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsRequestBuilder.php create mode 100644 payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsRequestInterface.php create mode 100644 payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsRequestSerializer.php create mode 100644 payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/SimpleReceiptResponse.php diff --git a/CHANGELOG.md b/CHANGELOG.md index 4bbca21..b92f5b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +### v1.3.0 от 09.11.2020 +* Изменена ссылка для обновления модуля yandex-money -> yoomoney +* Обновлен SDK до версии 1.6.8 + ### v1.2.1 от 31.07.2020 * Мелкие правки * Правки по отправке второго чека diff --git a/README.md b/README.md index 39b83b6..35f6532 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ [Помощь Кассы: отправка чеков по 54-ФЗ](https://yandex.ru/support/checkout/payments/tax-sync.html) ### Установка модуля -Для установки данного модуля необходимо скопировать каталог `payment` из [архива](https://github.com/yandex-money/yandex-money-cms-v2-simpla/archive/master.zip) в корень Вашего сайта с заменой файлов на новые. +Для установки данного модуля необходимо скопировать каталог `payment` из [архива](https://github.com/yoomoney/yandex-money-cms-v2-simpla/archive/master.zip) в корень Вашего сайта с заменой файлов на новые. Пожалуйста, обязательно делайте бекапы! diff --git a/payment/YandexMoneyApi/YandexMoneyApi.php b/payment/YandexMoneyApi/YandexMoneyApi.php index 755f60c..c06b9d1 100644 --- a/payment/YandexMoneyApi/YandexMoneyApi.php +++ b/payment/YandexMoneyApi/YandexMoneyApi.php @@ -1,12 +1,12 @@ =5.4", - "yandex-money/yandex-checkout-sdk-php": "1.0.6" + "yandex-money/yandex-checkout-sdk-php": "1.6" } } \ No newline at end of file diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Client.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Client.php index f87b3ea..dd3ac77 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Client.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Client.php @@ -68,6 +68,8 @@ use YandexCheckout\Request\Receipts\CreatePostReceiptRequestInterface; use YandexCheckout\Request\Receipts\CreatePostReceiptRequestSerializer; use YandexCheckout\Request\Receipts\ReceiptResponseFactory; +use YandexCheckout\Request\Receipts\ReceiptsRequest; +use YandexCheckout\Request\Receipts\ReceiptsRequestSerializer; use YandexCheckout\Request\Receipts\ReceiptsResponse; use YandexCheckout\Request\Refunds\CreateRefundRequest; use YandexCheckout\Request\Refunds\CreateRefundRequestInterface; @@ -92,7 +94,7 @@ class Client extends BaseClient /** * Текущая версия библиотеки */ - const SDK_VERSION = '1.6.4'; + const SDK_VERSION = '1.6.8'; /** * Получить список платежей магазина. @@ -697,6 +699,7 @@ public function getWebhooks() * @throws TooManyRequestsException * @throws UnauthorizedException * @throws ExtensionNotFoundException + * @throws Exception */ public function getReceipts($filter = null) { @@ -706,16 +709,10 @@ public function getReceipts($filter = null) $queryParams = array(); } else { if (is_array($filter)) { - $queryParams = $filter; - } elseif ($filter instanceof PaymentInterface) { - $queryParams = array( - 'payment_id' => $filter->getId() - ); - } elseif ($filter instanceof RefundInterface) { - $queryParams = array( - 'refund_id' => $filter->getId() - ); + $filter = ReceiptsRequest::builder()->build($filter); } + $serializer = new ReceiptsRequestSerializer(); + $queryParams = $serializer->serialize($filter); } $response = $this->execute($path, HttpVerb::GET, $queryParams); diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Common/AbstractRequestBuilder.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Common/AbstractRequestBuilder.php index f6322ec..88f9468 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Common/AbstractRequestBuilder.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Common/AbstractRequestBuilder.php @@ -106,8 +106,9 @@ public function setOptions($options) if (method_exists($this, $method)) { $this->{$method} ($value); } else { - $tmp = preg_replace('/\_(\w)/', '\1', $property); - $method = 'set' . ucfirst($tmp); + $property = str_replace('.', '_', $property); + $field = implode('', array_map('ucfirst', explode('_', $property))); + $method = 'set' . ucfirst($field); if (method_exists($this, $method)) { $this->{$method} ($value); } diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/PaymentData/PaymentDataWechat.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/PaymentData/PaymentDataWechat.php index fba2c2e..b978dab 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/PaymentData/PaymentDataWechat.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/PaymentData/PaymentDataWechat.php @@ -28,6 +28,9 @@ use YandexCheckout\Model\PaymentMethodType; +/** + * @deprecated Класс будет удалён в одной из будущих версий. + */ class PaymentDataWechat extends AbstractPaymentData { public function __construct() diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/PaymentMethod/PaymentMethodWechat.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/PaymentMethod/PaymentMethodWechat.php index f5564bd..e57d3e7 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/PaymentMethod/PaymentMethodWechat.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/PaymentMethod/PaymentMethodWechat.php @@ -28,6 +28,9 @@ use YandexCheckout\Model\PaymentMethodType; +/** + * @deprecated Класс будет удалён в одной из будущих версий. + */ class PaymentMethodWechat extends AbstractPaymentMethod { public function __construct() diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/PaymentMethodType.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/PaymentMethodType.php index 892b746..4436808 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/PaymentMethodType.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/PaymentMethodType.php @@ -62,6 +62,9 @@ class PaymentMethodType extends AbstractEnum const B2B_SBERBANK = 'b2b_sberbank'; const TINKOFF_BANK = 'tinkoff_bank'; const PSB = 'psb'; + /** + * @deprecated Будет удален в следующих версиях + */ const WECHAT = 'wechat'; protected static $validValues = array( diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/ReceiptType.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/ReceiptType.php index 524964d..180d63d 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/ReceiptType.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/ReceiptType.php @@ -34,21 +34,22 @@ * --- | --- * |payment|Приход| * |refund|Возврат| + * |simple|Простой| */ class ReceiptType extends AbstractEnum { - /** - * @var string Тип чека: приход - */ + /** @var string Тип чека: приход */ const PAYMENT = 'payment'; - /** - * @var string Тип чека: возврат - */ + /** @var string Тип чека: возврат */ const REFUND = 'refund'; + /** @var string Тип чека: простой */ + const SIMPLE = 'simple'; + protected static $validValues = array( self::PAYMENT => true, self::REFUND => true, + self::SIMPLE => true, ); } diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/Refund.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/Refund.php index c88226b..afe54b2 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/Refund.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/Refund.php @@ -44,7 +44,7 @@ * @property AmountInterface $amount Сумма возврата * @property string $receiptRegistration Статус регистрации чека * @property string $receipt_registration Статус регистрации чека - * @property string $comment Комментарий, основание для возврата средств покупателю + * @property string $description Комментарий, основание для возврата средств покупателю */ class Refund extends AbstractObject implements RefundInterface { @@ -81,7 +81,7 @@ class Refund extends AbstractObject implements RefundInterface /** * @var string Комментарий, основание для возврата средств покупателю */ - private $_comment; + private $_description; /** * @var SourceInterface[] Данные о распределении денег — сколько и в какой магазин нужно перевести. @@ -298,15 +298,26 @@ public function setReceiptRegistration($value) /** * Возвращает комментарий к возврату + * @deprecated Устарел. Будет удален в одной из следующих версий * @return string Комментарий, основание для возврата средств покупателю */ public function getComment() { - return $this->_comment; + return $this->_description; + } + + /** + * Возвращает комментарий к возврату + * @return string Комментарий, основание для возврата средств покупателю + */ + public function getDescription() + { + return $this->_description; } /** * Устанавливает комментарий к возврату + * @deprecated Устарел. Будет удален в одной из следующих версий * @param string $value Комментарий, основание для возврата средств покупателю * * @throws EmptyPropertyValueException Выбрасывается если был передан пустой аргумент @@ -314,17 +325,25 @@ public function getComment() * @throws InvalidPropertyValueTypeException Выбрасывается если аргумент не является строкой */ public function setComment($value) + { + $this->setDescription($value); + } + + /** + * Устанавливает комментарий к возврату + * @param string $value Комментарий, основание для возврата средств покупателю + * + * @throws EmptyPropertyValueException Выбрасывается если был передан пустой аргумент + * @throws InvalidPropertyValueTypeException Выбрасывается если аргумент не является строкой + */ + public function setDescription($value) { if ($value === null || $value === '') { - throw new EmptyPropertyValueException('Empty refund comment', 0, 'Refund.comment'); + throw new EmptyPropertyValueException('Empty refund description', 0, 'Refund.description'); } elseif (TypeCast::canCastToEnumString($value)) { - $length = mb_strlen((string)$value, 'utf-8'); - if ($length > 250) { - throw new InvalidPropertyValueException('Empty refund comment', 0, 'Refund.comment', $value); - } - $this->_comment = (string)$value; + $this->_description = (string)$value; } else { - throw new InvalidPropertyValueTypeException('Empty refund comment', 0, 'Refund.comment', $value); + throw new InvalidPropertyValueTypeException('Empty refund description', 0, 'Refund.description', $value); } } diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/RefundInterface.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/RefundInterface.php index 3726a95..28ebff3 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/RefundInterface.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/RefundInterface.php @@ -40,7 +40,7 @@ * @property-read AmountInterface $amount Сумма возврата * @property-read string $receiptRegistration Статус регистрации чека * @property-read string $receipt_registration Статус регистрации чека - * @property-read string $comment Комментарий, основание для возврата средств покупателю + * @property-read string $description Комментарий, основание для возврата средств покупателю */ interface RefundInterface { @@ -82,10 +82,17 @@ function getReceiptRegistration(); /** * Возвращает комментарий к возврату + * @deprecated Устарел. Будет удален в одной из следующих версий * @return string Комментарий, основание для возврата средств покупателю */ function getComment(); + /** + * Возвращает комментарий к возврату + * @return string Комментарий, основание для возврата средств покупателю + */ + function getDescription(); + /** * Возвращает информацию об инициаторе платежа или возврата * @return RequestorInterface diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequest.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequest.php index 8ab0fae..2e13dbc 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequest.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequest.php @@ -26,33 +26,34 @@ namespace YandexCheckout\Request\Payments; +use Exception; use YandexCheckout\Common\AbstractRequest; use YandexCheckout\Common\Exceptions\InvalidPropertyValueException; use YandexCheckout\Common\Exceptions\InvalidPropertyValueTypeException; use YandexCheckout\Helpers\TypeCast; +use YandexCheckout\Model\PaymentMethodType; use YandexCheckout\Model\PaymentStatus; /** * Класс объекта запроса к API для получения списка платежей магазина * - * @property string|null $page Страница выдачи результатов, которую необходимо отобразить * @property \DateTime|null $createdAtGte Время создания, от (включительно) * @property \DateTime|null $createdAtGt Время создания, от (не включая) * @property \DateTime|null $createdAtLte Время создания, до (включительно) * @property \DateTime|null $createdAtLt Время создания, до (не включая) - * @property integer|null $limit Ограничение количества объектов платежа, отображаемых на одной странице выдачи - * @property string|null $recipientGatewayId Идентификатор шлюза. + * @property \DateTime|null $capturedAtGte Время подтверждения, от (включительно) + * @property \DateTime|null $capturedAtGt Время подтверждения, от (не включая) + * @property \DateTime|null $capturedAtLte Время подтверждения, до (включительно) + * @property \DateTime|null $capturedAtLt Время подтверждения, до (не включая) * @property string|null $status Статус платежа + * @property string|null $paymentMethod Платежный метод + * @property integer|null $limit Ограничение количества объектов платежа, отображаемых на одной странице выдачи + * @property string|null $cursor Страница выдачи результатов, которую необходимо отобразить */ class PaymentsRequest extends AbstractRequest implements PaymentsRequestInterface { const MAX_LIMIT_VALUE = 100; - /** - * @var string Страница выдачи результатов, которую необходимо отобразить - */ - private $_page; - /** * @var \DateTime Время создания, от (включительно) */ @@ -74,14 +75,24 @@ class PaymentsRequest extends AbstractRequest implements PaymentsRequestInterfac private $_createdAtLt; /** - * @var string Ограничение количества объектов платежа + * @var \DateTime Время подтверждения, от (включительно) */ - private $_limit; + private $_capturedAtGte; + + /** + * @var \DateTime Время подтверждения, от (не включая) + */ + private $_capturedAtGt; + + /** + * @var \DateTime Время подтверждения, до (включительно) + */ + private $_capturedAtLte; /** - * @var string Идентификатор шлюза + * @var \DateTime Время подтверждения, до (не включая) */ - private $_recipientGatewayId; + private $_capturedAtLt; /** * @var string Статус платежа @@ -89,41 +100,19 @@ class PaymentsRequest extends AbstractRequest implements PaymentsRequestInterfac private $_status; /** - * Страница выдачи результатов, которую необходимо отобразить - * @return string|null + * @var string Платежный метод */ - public function getPage() - { - return $this->_page; - } + private $_paymentMethod; /** - * Проверяет был ли установлена страница выдачи результатов, которую необходимо отобразить - * @return bool True если была установлена, false если нет + * @var string Ограничение количества объектов платежа */ - public function hasPage() - { - return $this->_page !== null; - } + private $_limit; /** - * Устанавливает cтраницw выдачи результатов, которую необходимо отобразить - * @param string $value Страница выдачи результатов или null чтобы удалить значение - * - * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка + * @var string Страница выдачи результатов, которую необходимо отобразить */ - public function setPage($value) - { - if ($value === null || $value === '') { - $this->_page = null; - } elseif (TypeCast::canCastToString($value)) { - $this->_page = (string)$value; - } else { - throw new InvalidPropertyValueTypeException( - 'Invalid status value in PaymentsRequest', 0, 'PaymentsRequest.page', $value - ); - } - } + private $_cursor; /** * Возвращает дату создания от которой будут возвращены платежи или null если дата не была установлена @@ -149,7 +138,7 @@ public function hasCreatedAtGte() * * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ public function setCreatedAtGte($value) @@ -195,7 +184,7 @@ public function hasCreatedAtGt() * * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ public function setCreatedAtGt($value) @@ -241,7 +230,7 @@ public function hasCreatedAtLte() * * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ public function setCreatedAtLte($value) @@ -287,7 +276,7 @@ public function hasCreatedAtLt() * * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ public function setCreatedAtLt($value) @@ -310,84 +299,218 @@ public function setCreatedAtLt($value) } /** - * Ограничение количества объектов платежа - * @return integer|null Ограничение количества объектов платежа + * Возвращает дату подтверждения от которой будут возвращены платежи или null если дата не была установлена + * @return \DateTime|null Время подтверждения, от (включительно) */ - public function getLimit() + public function getCapturedAtGte() { - return $this->_limit; + return $this->_capturedAtGte; } /** - * Проверяет был ли установлено ограничение количества объектов платежа - * @return bool True если было установлено, false если нет + * Проверяет была ли установлена дата подтверждения от которой выбираются платежи + * @return bool True если дата была установлена, false если нет */ - public function hasLimit() + public function hasCapturedAtGte() { - return $this->_limit !== null; + return $this->_capturedAtGte !== null; } /** - * Устанавливает ограничение количества объектов платежа - * @param integer|null $value Ограничение количества объектов платежа или null чтобы удалить значение + * Устанавливает дату подтверждения от которой выбираются платежи + * @param \DateTime|string|int|null $value Время подтверждения, от (включительно) или null чтобы удалить значение * - * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передано не целое число + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) */ - public function setLimit($value) + public function setCapturedAtGte($value) { - if ($value === null) { - $this->_limit = null; - } elseif (is_int($value)) { - if ($value < 0 || $value > self::MAX_LIMIT_VALUE) { + if ($value === null || $value === '') { + $this->_capturedAtGte = null; + } elseif (TypeCast::canCastToDateTime($value)) { + $dateTime = TypeCast::castToDateTime($value); + if ($dateTime === null) { throw new InvalidPropertyValueException( - 'Invalid limit value in PaymentsRequest', 0, 'PaymentsRequest.limit', $value + 'Invalid capturedAtGte value in PaymentsRequest', 0, 'PaymentRequest.capturedAtGte' ); } - $this->_limit = $value; + $this->_capturedAtGte = $dateTime; } else { throw new InvalidPropertyValueTypeException( - 'Invalid limit value type in PaymentsRequest', 0, 'PaymentsRequest.limit', $value + 'Invalid capturedAtGte value type in PaymentsRequest', 0, 'PaymentRequest.capturedAtGte' + ); + } + } + + /** + * Возвращает дату подтверждения от которой будут возвращены платежи или null если дата не была установлена + * @return \DateTime|null Время подтверждения, от (не включая) + */ + public function getCapturedAtGt() + { + return $this->_capturedAtGt; + } + + /** + * Проверяет была ли установлена дата подтверждения от которой выбираются платежи + * @return bool True если дата была установлена, false если нет + */ + public function hasCapturedAtGt() + { + return $this->_capturedAtGt !== null; + } + + /** + * Устанавливает дату подтверждения от которой выбираются платежи + * @param \DateTime|string|int|null $value Время подтверждения, от (не включая) или null чтобы удалить значение + * + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) + */ + public function setCapturedAtGt($value) + { + if ($value === null || $value === '') { + $this->_capturedAtGt = null; + } elseif (TypeCast::canCastToDateTime($value)) { + $dateTime = TypeCast::castToDateTime($value); + if ($dateTime === null) { + throw new InvalidPropertyValueException( + 'Invalid capturedAtGt value in PaymentsRequest', 0, 'PaymentRequest.capturedAtGt' + ); + } + $this->_capturedAtGt = $dateTime; + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid capturedAtGt value type in PaymentsRequest', 0, 'PaymentRequest.capturedAtGt' + ); + } + } + + /** + * Возвращает дату подтверждения до которой будут возвращены платежи или null если дата не была установлена + * @return \DateTime|null Время подтверждения, до (включительно) + */ + public function getCapturedAtLte() + { + return $this->_capturedAtLte; + } + + /** + * Проверяет была ли установлена дата подтверждения до которой выбираются платежи + * @return bool True если дата была установлена, false если нет + */ + public function hasCapturedAtLte() + { + return $this->_capturedAtLte !== null; + } + + /** + * Устанавливает дату подтверждения до которой выбираются платежи + * @param \DateTime|string|int|null $value Время подтверждения, до (включительно) или null чтобы удалить значение + * + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) + */ + public function setCapturedAtLte($value) + { + if ($value === null || $value === '') { + $this->_capturedAtLte = null; + } elseif (TypeCast::canCastToDateTime($value)) { + $dateTime = TypeCast::castToDateTime($value); + if ($dateTime === null) { + throw new InvalidPropertyValueException( + 'Invalid capturedAtLte value in PaymentsRequest', 0, 'PaymentRequest.capturedAtLte' + ); + } + $this->_capturedAtLte = $dateTime; + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid capturedAtLte value type in PaymentsRequest', 0, 'PaymentRequest.capturedAtLte' + ); + } + } + + /** + * Возвращает дату подтверждения до которой будут возвращены платежи или null если дата не была установлена + * @return \DateTime|null Время подтверждения, до (не включая) + */ + public function getCapturedAtLt() + { + return $this->_capturedAtLt; + } + + /** + * Проверяет была ли установлена дата подтверждения до которой выбираются платежи + * @return bool True если дата была установлена, false если нет + */ + public function hasCapturedAtLt() + { + return $this->_capturedAtLt !== null; + } + + /** + * Устанавливает дату подтверждения до которой выбираются платежи + * @param \DateTime|string|int|null $value Время подтверждения, до (не включая) или null чтобы удалить значение + * + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) + */ + public function setCapturedAtLt($value) + { + if ($value === null || $value === '') { + $this->_capturedAtLt = null; + } elseif (TypeCast::canCastToDateTime($value)) { + $dateTime = TypeCast::castToDateTime($value); + if ($dateTime === null) { + throw new InvalidPropertyValueException( + 'Invalid capturedAtLt value in PaymentsRequest', 0, 'PaymentRequest.capturedAtLt' + ); + } + $this->_capturedAtLt = $dateTime; + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid capturedAlLt value type in PaymentsRequest', 0, 'PaymentRequest.capturedAtLt' ); } } /** * Возвращает идентификатор шлюза + * @deprecated Будет удален в следующих версиях * @return string|null Идентификатор шлюза */ public function getRecipientGatewayId() { - return $this->_recipientGatewayId; + return null; } /** * Проверяет был ли установлен идентификатор шлюза + * @deprecated Будет удален в следующих версиях * @return bool True если идентификатор шлюза был установлен, false если нет */ public function hasRecipientGatewayId() { - return $this->_recipientGatewayId !== null; + return false; } /** * Устанавливает идентификатор шлюза + * @deprecated Будет удален в следующих версиях * @param string|null $value Идентификатор шлюза или null чтобы удалить значение * * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка */ public function setRecipientGatewayId($value) - { - if ($value === null || $value === '') { - $this->_recipientGatewayId = null; - } elseif (TypeCast::canCastToString($value)) { - $this->_recipientGatewayId = (string)$value; - } else { - throw new InvalidPropertyValueTypeException( - 'Invalid recipientGatewayId value type in PaymentsRequest', 0, 'PaymentsRequest.recipientGatewayId', - $value - ); - } - } + {} /** * Возвращает статус выбираемых платежей или null если он до этого не был установлен @@ -433,6 +556,155 @@ public function setStatus($value) } } + /** + * Возвращает платежный метод выбираемых платежей или null если он до этого не был установлен + * @return string|null Платежный метод выбираемых платежей + */ + public function getPaymentMethod() + { + return $this->_paymentMethod; + } + + /** + * Проверяет был ли установлен платежный метод выбираемых платежей + * @return bool True если платежный метод был установлен, false если нет + */ + public function hasPaymentMethod() + { + return $this->_paymentMethod !== null; + } + + /** + * Устанавливает платежный метод выбираемых платежей + * @param string $value Платежный метод выбираемых платежей или null чтобы удалить значение + * + * @throws InvalidPropertyValueException Выбрасывается если переданное значение не является валидным статусом + * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка + */ + public function setPaymentMethod($value) + { + if ($value === null || $value === '') { + $this->_paymentMethod = null; + } elseif (TypeCast::canCastToEnumString($value)) { + if (!PaymentMethodType::valueExists((string)$value)) { + throw new InvalidPropertyValueException( + 'Invalid status value in PaymentsRequest', 0, 'PaymentsRequest.paymentMethod', $value + ); + } else { + $this->_paymentMethod = (string)$value; + } + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid status value type in PaymentsRequest', 0, 'PaymentsRequest.paymentMethod', $value + ); + } + } + + /** + * Ограничение количества объектов платежа + * @return integer|null Ограничение количества объектов платежа + */ + public function getLimit() + { + return $this->_limit; + } + + /** + * Проверяет был ли установлено ограничение количества объектов платежа + * @return bool True если было установлено, false если нет + */ + public function hasLimit() + { + return $this->_limit !== null; + } + + /** + * Устанавливает ограничение количества объектов платежа + * @param integer|null $value Ограничение количества объектов платежа или null чтобы удалить значение + * + * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передано не целое число + */ + public function setLimit($value) + { + if ($value === null || $value === '') { + $this->_limit = null; + } elseif (is_int($value)) { + if ($value < 0 || $value > self::MAX_LIMIT_VALUE) { + throw new InvalidPropertyValueException( + 'Invalid limit value in PaymentsRequest', 0, 'PaymentsRequest.limit', $value + ); + } + $this->_limit = $value; + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid limit value type in PaymentsRequest', 0, 'PaymentsRequest.limit', $value + ); + } + } + + /** + * Страница выдачи результатов, которую необходимо отобразить + * @return string|null + */ + public function getCursor() + { + return $this->_cursor; + } + + /** + * Проверяет был ли установлена страница выдачи результатов, которую необходимо отобразить + * @return bool True если была установлена, false если нет + */ + public function hasCursor() + { + return $this->_cursor !== null; + } + + /** + * Устанавливает cтраницw выдачи результатов, которую необходимо отобразить + * @param string $value Страница выдачи результатов или null чтобы удалить значение + * + * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка + */ + public function setCursor($value) + { + if ($value === null || $value === '') { + $this->_cursor = null; + } elseif (TypeCast::canCastToString($value)) { + $this->_cursor = (string)$value; + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid status value type in PaymentsRequest', 0, 'PaymentsRequest.limit', $value + ); + } + } + + /** + * @deprecated Будет удален в следующих версиях + * @return string|null + */ + public function getPage() + { + return $this->_cursor; + } + + /** + * @deprecated Будет удален в следующих версиях + * @return bool + */ + public function hasPage() + { + return $this->_cursor !== null; + } + + /** + * @deprecated Будет удален в следующих версиях + * @param string $value + */ + public function setPage($value) + { + $this->setCursor($value); + } /** * Проверяет валидность текущего объекта запроса diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequestBuilder.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequestBuilder.php index 126fbb4..f19d3e4 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequestBuilder.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequestBuilder.php @@ -26,6 +26,9 @@ namespace YandexCheckout\Request\Payments; +use DateTime; +use Exception; +use YandexCheckout\Common\AbstractRequest; use YandexCheckout\Common\AbstractRequestBuilder; use YandexCheckout\Common\Exceptions\InvalidPropertyValueException; use YandexCheckout\Common\Exceptions\InvalidPropertyValueTypeException; @@ -58,20 +61,30 @@ protected function initCurrentObject() * * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка */ - public function setPage($value) + public function setCursor($value) { - $this->currentObject->setPage($value); + $this->currentObject->setCursor($value); return $this; } + /** + * @deprecated Будет удален в следующих версиях + * @param $value + * @return PaymentsRequestBuilder + */ + public function setPage($value) + { + return $this->setCursor($value); + } + /** * Устанавливает дату создания от которой выбираются платежи - * @param \DateTime|string|int|null $value Время создания, от (не включая) или null чтобы удалить значение + * @param DateTime|string|int|null $value Время создания, от (не включая) или null чтобы удалить значение * @return PaymentsRequestBuilder Инстанс текущего билдера * * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ public function setCreatedAtGt($value) @@ -82,12 +95,12 @@ public function setCreatedAtGt($value) /** * Устанавливает дату создания от которой выбираются платежи - * @param \DateTime|string|int|null $value Время создания, от (включительно) или null чтобы удалить значение + * @param DateTime|string|int|null $value Время создания, от (включительно) или null чтобы удалить значение * @return PaymentsRequestBuilder Инстанс текущего билдера * * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ public function setCreatedAtGte($value) @@ -98,12 +111,12 @@ public function setCreatedAtGte($value) /** * Устанавливает дату создания до которой выбираются платежи - * @param \DateTime|string|int|null $value Время создания, до (не включая) или null чтобы удалить значение + * @param DateTime|string|int|null $value Время создания, до (не включая) или null чтобы удалить значение * @return PaymentsRequestBuilder Инстанс текущего билдера * * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ public function setCreatedAtLt($value) @@ -114,12 +127,12 @@ public function setCreatedAtLt($value) /** * Устанавливает дату создания до которой выбираются платежи - * @param \DateTime|string|int|null $value Время создания, до (включительно) или null чтобы удалить значение + * @param DateTime|string|int|null $value Время создания, до (включительно) или null чтобы удалить значение * @return PaymentsRequestBuilder Инстанс текущего билдера * * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ public function setCreatedAtLte($value) @@ -128,6 +141,70 @@ public function setCreatedAtLte($value) return $this; } + /** + * Устанавливает дату подтверждения от которой выбираются платежи + * @param DateTime|string|int|null $value Время создания, до (включительно) или null чтобы удалить значение + * @return PaymentsRequestBuilder Инстанс текущего билдера + * + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) + */ + public function setCapturedAtGt($value) + { + $this->currentObject->setCapturedAtGt($value); + return $this; + } + + /** + * Устанавливает дату подтверждения от которой выбираются платежи + * @param DateTime|string|int|null $value Время подтверждения, от (включительно) или null чтобы удалить значение + * @return PaymentsRequestBuilder Инстанс текущего билдера + * + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) + */ + public function setCapturedAtGte($value) + { + $this->currentObject->setCapturedAtGte($value); + return $this; + } + + /** + * Устанавливает дату подтверждения до которой выбираются платежи + * @param DateTime|string|int|null $value Время подтверждения, до (включительно) или null чтобы удалить значение + * @return PaymentsRequestBuilder Инстанс текущего билдера + * + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) + */ + public function setCapturedAtLt($value) + { + $this->currentObject->setCapturedAtLt($value); + return $this; + } + + /** + * Устанавливает дату подтверждения до которой выбираются платежи + * @param DateTime|string|int|null $value Время подтверждения, до (включительно) или null чтобы удалить значение + * @return PaymentsRequestBuilder Инстанс текущего билдера + * + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) + */ + public function setCapturedAtLte($value) + { + $this->currentObject->setCapturedAtLte($value); + return $this; + } + /** * Устанавливает ограничение количества объектов платежа * @param string $value Ограничение количества объектов платежа или null чтобы удалить значение @@ -168,10 +245,24 @@ public function setStatus($value) return $this; } + /** + * Устанавливает платежный метод выбираемых платежей + * @param string $value Платежный метод выбираемых платежей или null чтобы удалить значение + * @return PaymentsRequestBuilder Инстанс текущего билдера + * + * @throws InvalidPropertyValueException Выбрасывается если переданное значение не является валидным статусом + * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка + */ + public function setPaymentMethod($value) + { + $this->currentObject->setPaymentMethod($value); + return $this; + } + /** * Собирает и возвращает объект запроса списка платежей магазина * @param array|null $options Массив с настройками запроса - * @return PaymentsRequestInterface Инстанс объекта запроса к API для получения списка плаитежей магазина + * @return AbstractRequest Инстанс объекта запроса к API для получения списка платежей магазина */ public function build(array $options = null) { diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequestInterface.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequestInterface.php index ff9b01f..b70921e 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequestInterface.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequestInterface.php @@ -31,11 +31,15 @@ * * @package YandexCheckout\Request\Payments * - * @property-read string|null $page Страница выдачи результатов, которую необходимо отобразить + * @property-read string|null $cursor Страница выдачи результатов, которую необходимо отобразить * @property-read \DateTime|null $createdAtGte Время создания, от (включительно) * @property-read \DateTime|null $createdAtGt Время создания, от (не включая) * @property-read \DateTime|null $createdAtLte Время создания, до (включительно) * @property-read \DateTime|null $createdAtLt Время создания, до (не включая) + * @property-read \DateTime|null $capturedAtGte Время подтверждения, от (включительно) + * @property-read \DateTime|null $capturedAtGt Время подтверждения, от (не включая) + * @property-read \DateTime|null $capturedAtLte Время подтверждения, до (включительно) + * @property-read \DateTime|null $capturedAtLt Время подтверждения, до (не включая) * @property-read integer|null $limit Ограничение количества объектов платежа, отображаемых на одной странице выдачи * @property-read string|null $recipientGatewayId Идентификатор шлюза. * @property-read string|null $status Статус платежа @@ -46,13 +50,13 @@ interface PaymentsRequestInterface * Возвращает страницу выдачи результатов или null если она до этого не была установлена * @return string|null Страница выдачи результатов */ - function getPage(); + function getCursor(); /** * Проверяет была ли установлена страница выдачи результатов * @return bool True если страница выдачи результатов была установлена, false если нет */ - function hasPage(); + function hasCursor(); /** * Возвращает дату создания от которой будут возвращены платежи или null если дата не была установлена diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequestSerializer.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequestSerializer.php index fe5026f..bfafdc0 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequestSerializer.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsRequestSerializer.php @@ -37,14 +37,18 @@ class PaymentsRequestSerializer * @var array Карта маппинга свойств объекта запроса на поля отправляемого запроса */ private static $propertyMap = array( - 'page' => 'page', 'createdAtGte' => 'created_at.gte', 'createdAtGt' => 'created_at.gt', 'createdAtLte' => 'created_at.lte', 'createdAtLt' => 'created_at.lt', - 'limit' => 'limit', - 'recipientGatewayId' => 'recipient.gateway_id', + 'capturedAtGte' => 'captured_at.gte', + 'capturedAtGt' => 'captured_at.gt', + 'capturedAtLte' => 'captured_at.lte', + 'capturedAtLt' => 'captured_at.lt', 'status' => 'status', + 'paymentMethod' => 'payment_method', + 'limit' => 'limit', + 'cursor' => 'cursor', ); /** diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsResponse.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsResponse.php index d5b7504..16d294d 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsResponse.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Payments/PaymentsResponse.php @@ -54,7 +54,7 @@ class PaymentsResponse /** * @var string|null Токен следующей страницы */ - private $nextPage; + private $nextCursor; /** * Конструктор, устанавливает свойства объекта из пришедшего из API ассоциативного массива @@ -76,7 +76,10 @@ public function __construct($options) $payment->setDescription($paymentInfo['description']); } $payment->setCreatedAt(strtotime($paymentInfo['created_at'])); - $payment->setPaymentMethod($this->factoryPaymentMethod($paymentInfo['payment_method'])); + if (!empty($paymentInfo['payment_method']) + && $method = $this->factoryPaymentMethod($paymentInfo['payment_method'])) { + $payment->setPaymentMethod($method); + } $payment->setPaid($paymentInfo['paid']); $payment->setRefundable($paymentInfo['refundable']); @@ -93,8 +96,12 @@ public function __construct($options) if ($paymentInfo['confirmation']['type'] === ConfirmationType::REDIRECT) { $confirmation = new ConfirmationRedirect(); $confirmation->setConfirmationUrl($paymentInfo['confirmation']['confirmation_url']); - $confirmation->setEnforce($paymentInfo['confirmation']['enforce']); - $confirmation->setReturnUrl($paymentInfo['confirmation']['return_url']); + if (!empty($paymentInfo['confirmation']['enforce'])) { + $confirmation->setEnforce($paymentInfo['confirmation']['enforce']); + } + if (!empty($paymentInfo['confirmation']['return_url'])) { + $confirmation->setReturnUrl($paymentInfo['confirmation']['return_url']); + } } else { $confirmation = new ConfirmationExternal(); } @@ -129,8 +136,8 @@ public function __construct($options) } $this->items[] = $payment; } - if (!empty($options['next_page'])) { - $this->nextPage = $options['next_page']; + if (!empty($options['next_cursor'])) { + $this->nextCursor = $options['next_cursor']; } } @@ -147,18 +154,36 @@ public function getItems() * Возвращает токен следующей страницы, если он задан, или null * @return string|null Токен следующей страницы */ - public function getNextPage() + public function getNextCursor() { - return $this->nextPage; + return $this->nextCursor; } /** * Проверяет имееотся ли в ответе токен следующей страницы * @return bool True если токен следующей страницы есть, false если нет */ + public function hasNextCursor() + { + return $this->nextCursor !== null; + } + + /** + * @deprecated Будет удален в следующих версиях + * @return string|null + */ + public function getNextPage() + { + return $this->nextCursor; + } + + /** + * @deprecated Будет удален в следующих версиях + * @return bool + */ public function hasNextPage() { - return $this->nextPage !== null; + return $this->nextCursor !== null; } /** @@ -170,6 +195,8 @@ public function hasNextPage() */ private function factoryPaymentMethod($options) { + if (empty($options)) return null; + $factory = new PaymentMethodFactory(); return $factory->factoryFromArray($options); diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/AbstractReceiptResponse.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/AbstractReceiptResponse.php index bc8b31e..5002c22 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/AbstractReceiptResponse.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/AbstractReceiptResponse.php @@ -246,7 +246,9 @@ public function getObjectId() */ public function setObjectId($value) { - if (TypeCast::canCastToString($value)) { + if ($value === null || $value === '') { + $this->_object_id = null; + } elseif (TypeCast::canCastToString($value)) { $this->_object_id = (string)$value; } else { throw new InvalidPropertyValueTypeException('Invalid receipt object_id type', 0, 'Receipt.object_id', $value); @@ -261,10 +263,10 @@ public function setObjectId($value) */ private function factoryObjectId($receiptData) { - if ($receiptData['type'] === ReceiptType::PAYMENT) { - return $receiptData['payment_id']; - } elseif ($receiptData['type'] === ReceiptType::REFUND) { + if (array_key_exists('refund_id', $receiptData)) { return $receiptData['refund_id']; + } elseif (array_key_exists('payment_id', $receiptData)) { + return $receiptData['payment_id']; } return null; } @@ -303,6 +305,7 @@ public function setStatus($value) 'Invalid status value type', 0, 'Receipt.status', $value ); } + return $this; } /** diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/CreatePostReceiptRequest.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/CreatePostReceiptRequest.php index ca4be91..3c70588 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/CreatePostReceiptRequest.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/CreatePostReceiptRequest.php @@ -430,11 +430,6 @@ public function validate() return false; } - if (!$this->getObjectId()) { - $this->setValidationError('Receipt object_id not specified'); - return false; - } - return true; } diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/CreatePostReceiptRequestBuilder.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/CreatePostReceiptRequestBuilder.php index 60e0f4b..9a595cc 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/CreatePostReceiptRequestBuilder.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/CreatePostReceiptRequestBuilder.php @@ -198,10 +198,9 @@ public function build(array $options = null) if (!empty($options)) { $this->setOptions($options); - if ($options['type'] === ReceiptType::PAYMENT && !empty($options['payment_id'])) { + if (!empty($options['payment_id'])) { $this->setObjectId($options['payment_id']); - } - if ($options['type'] === ReceiptType::REFUND && !empty($options['refund_id'])) { + } elseif (!empty($options['refund_id'])) { $this->setObjectId($options['refund_id']); } } diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptResponseFactory.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptResponseFactory.php index 81c4328..008ff7f 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptResponseFactory.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptResponseFactory.php @@ -38,6 +38,7 @@ class ReceiptResponseFactory private $typeClassMap = array( ReceiptType::PAYMENT => 'PaymentReceiptResponse', ReceiptType::REFUND => 'RefundReceiptResponse', + ReceiptType::SIMPLE => 'SimpleReceiptResponse', ); /** @@ -48,7 +49,13 @@ class ReceiptResponseFactory public function factory($data) { if (array_key_exists('type', $data)) { - $type = $data['type']; + if (array_key_exists('refund_id', $data)) { + $type = ReceiptType::REFUND; + } elseif (array_key_exists('payment_id', $data)) { + $type = ReceiptType::PAYMENT; + } else { + $type = ReceiptType::SIMPLE; + } } else { throw new \InvalidArgumentException( 'Parameter type not specified in ReceiptResponseFactory.factory()' diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsRequest.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsRequest.php new file mode 100644 index 0000000..81a64a0 --- /dev/null +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsRequest.php @@ -0,0 +1,509 @@ +_refundId; + } + + /** + * Проверяет был ли установлен идентификатор возврата + * @return bool True если идентификатор возврата был установлен, false если не был + */ + public function hasRefundId() + { + return !empty($this->_refundId); + } + + /** + * Устанавливает идентификатор возврата + * @param string $value Идентификатор возврата, который ищется в API + */ + public function setRefundId($value) + { + if ($value === null || $value === '') { + $this->_refundId = null; + } elseif (TypeCast::canCastToString($value)) { + $length = mb_strlen((string)$value, 'utf-8'); + if ($length != 36) { + throw new InvalidPropertyValueException( + 'Invalid payment id value in ReceiptsRequest', 0, 'ReceiptsRequest.refundId', $value + ); + } + $this->_refundId = (string)$value; + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid payment id value type in ReceiptsRequest', 0, 'ReceiptsRequest.refundId', $value + ); + } + } + + /** + * Возвращает идентификатор платежа если он задан или null + * @return string|null Идентификатор платежа + */ + public function getPaymentId() + { + return $this->_paymentId; + } + + /** + * Проверяет, был ли задан идентификатор платежа + * @return bool True если идентификатор был задан, false если нет + */ + public function hasPaymentId() + { + return !empty($this->_paymentId); + } + + /** + * Устанавливает идентификатор платежа или null если требуется его удалить + * @param string|null $value Идентификатор платежа + * + * @throws InvalidPropertyValueException Выбрасывается если длина переданной строки не равна 36 символам + * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка + */ + public function setPaymentId($value) + { + if ($value === null || $value === '') { + $this->_paymentId = null; + } elseif (TypeCast::canCastToString($value)) { + $length = mb_strlen((string)$value, 'utf-8'); + if ($length != 36) { + throw new InvalidPropertyValueException( + 'Invalid payment id value in ReceiptsRequest', 0, 'ReceiptsRequest.paymentId', $value + ); + } + $this->_paymentId = (string)$value; + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid payment id value type in ReceiptsRequest', 0, 'ReceiptsRequest.paymentId', $value + ); + } + } + + /** + * Возвращает дату создания от которой будут возвращены возвраты или null если дата не была установлена + * @return \DateTime|null Время создания, от (включительно) + */ + public function getCreatedAtGte() + { + return $this->_createdAtGte; + } + + /** + * Проверяет была ли установлена дата создания от которой выбираются возвраты + * @return bool True если дата была установлена, false если нет + */ + public function hasCreatedAtGte() + { + return !empty($this->_createdAtGte); + } + + /** + * Устанавливает дату создания от которой выбираются возвраты + * @param \DateTime|string|int|null $value Время создания, от (включительно) или null чтобы удалить значение + * + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) + */ + public function setCreatedAtGte($value) + { + if ($value === null || $value === '') { + $this->_createdAtGte = null; + } elseif (TypeCast::canCastToDateTime($value)) { + $dateTime = TypeCast::castToDateTime($value); + if ($dateTime === null) { + throw new InvalidPropertyValueException( + 'Invalid created_gte value in ReceiptsRequest', 0, 'ReceiptsRequest.createdAtGte' + ); + } + $this->_createdAtGte = $dateTime; + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid created_gte value type in ReceiptsRequest', 0, 'ReceiptsRequest.createdAtGte' + ); + } + } + + /** + * Возвращает дату создания от которой будут возвращены возвраты или null если дата не была установлена + * @return \DateTime|null Время создания, от (не включая) + */ + public function getCreatedAtGt() + { + return $this->_createdAtGt; + } + + /** + * Проверяет была ли установлена дата создания от которой выбираются возвраты + * @return bool True если дата была установлена, false если нет + */ + public function hasCreatedAtGt() + { + return !empty($this->_createdAtGt); + } + + /** + * Устанавливает дату создания от которой выбираются возвраты + * @param \DateTime|string|int|null $value Время создания, от (не включая) или null чтобы удалить значение + * + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) + */ + public function setCreatedAtGt($value) + { + if ($value === null || $value === '') { + $this->_createdAtGt = null; + } elseif (TypeCast::canCastToDateTime($value)) { + $dateTime = TypeCast::castToDateTime($value); + if ($dateTime === null) { + throw new InvalidPropertyValueException( + 'Invalid created_gt value in ReceiptsRequest', 0, 'ReceiptsRequest.createdAtGt' + ); + } + $this->_createdAtGt = $dateTime; + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid created_gt value type in ReceiptsRequest', 0, 'ReceiptsRequest.createdAtGt' + ); + } + } + + /** + * Возвращает дату создания до которой будут возвращены возвраты или null если дата не была установлена + * @return \DateTime|null Время создания, до (включительно) + */ + public function getCreatedAtLte() + { + return $this->_createdAtLte; + } + + /** + * Проверяет была ли установлена дата создания до которой выбираются возвраты + * @return bool True если дата была установлена, false если нет + */ + public function hasCreatedAtLte() + { + return !empty($this->_createdAtLte); + } + + /** + * Устанавливает дату создания до которой выбираются возвраты + * @param \DateTime|string|int|null $value Время создания, до (включительно) или null чтобы удалить значение + * + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) + */ + public function setCreatedAtLte($value) + { + if ($value === null || $value === '') { + $this->_createdAtLte = null; + } elseif (TypeCast::canCastToDateTime($value)) { + $dateTime = TypeCast::castToDateTime($value); + if ($dateTime === null) { + throw new InvalidPropertyValueException( + 'Invalid created_lte value in ReceiptsRequest', 0, 'ReceiptsRequest.createdLte' + ); + } + $this->_createdAtLte = $dateTime; + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid created_lte value type in ReceiptsRequest', 0, 'ReceiptsRequest.createdLte' + ); + } + } + + /** + * Возвращает дату создания до которой будут возвращены возвраты или null если дата не была установлена + * @return \DateTime|null Время создания, до (не включая) + */ + public function getCreatedAtLt() + { + return $this->_createdAtLt; + } + + /** + * Проверяет была ли установлена дата создания до которой выбираются возвраты + * @return bool True если дата была установлена, false если нет + */ + public function hasCreatedAtLt() + { + return !empty($this->_createdAtLt); + } + + /** + * Устанавливает дату создания до которой выбираются возвраты + * @param \DateTime|string|int|null $value Время создания, до (не включая) или null чтобы удалить значение + * + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) + */ + public function setCreatedAtLt($value) + { + if ($value === null || $value === '') { + $this->_createdAtLt = null; + } elseif (TypeCast::canCastToDateTime($value)) { + $dateTime = TypeCast::castToDateTime($value); + if ($dateTime === null) { + throw new InvalidPropertyValueException( + 'Invalid created_lt value in ReceiptsRequest', 0, 'ReceiptsRequest.createdLt' + ); + } + $this->_createdAtLt = $dateTime; + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid created_lt value type in ReceiptsRequest', 0, 'ReceiptsRequest.createdLt' + ); + } + } + + /** + * Возвращает статус выбираемых возвратов или null если он до этого не был установлен + * @return string|null Статус выбираемых возвратов + */ + public function getStatus() + { + return $this->_status; + } + + /** + * Проверяет был ли установлен статус выбираемых возвратов + * @return bool True если статус был установлен, false если нет + */ + public function hasStatus() + { + return !empty($this->_status); + } + + /** + * Устанавливает статус выбираемых возвратов + * @param string $value Статус выбираемых платежей или null чтобы удалить значение + * + * @throws InvalidPropertyValueException Выбрасывается если переданное значение не является валидным статусом + * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка + */ + public function setStatus($value) + { + if ($value === null || $value === '') { + $this->_status = null; + } elseif (TypeCast::canCastToEnumString($value)) { + if (!RefundStatus::valueExists((string)$value)) { + throw new InvalidPropertyValueException( + 'Invalid status value in ReceiptsRequest', 0, 'ReceiptsRequest.status', $value + ); + } else { + $this->_status = (string)$value; + } + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid status value type in ReceiptsRequest', 0, 'ReceiptsRequest.status', $value + ); + } + } + + /** + * Возвращает токен для получения следующей страницы выборки + * @return string|null Токен для получения следующей страницы выборки + */ + public function getCursor() + { + return $this->_cursor; + } + + /** + * Проверяет был ли установлен токен следующей страницы + * @return bool True если токен был установлен, false если нет + */ + public function hasCursor() + { + return !empty($this->_cursor); + } + + /** + * Устанавливает токен следующей страницы выборки + * @param string $value Токен следующей страницы выборки или null чтобы удалить значение + * + * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка + */ + public function setCursor($value) + { + if ($value === null || $value === '') { + $this->_cursor = null; + } elseif (TypeCast::canCastToString($value)) { + $this->_cursor = (string) $value; + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid status value type in ReceiptsRequest', 0, 'ReceiptsRequest.cursor', $value + ); + } + } + + /** + * Ограничение количества объектов платежа + * @return integer|null Ограничение количества объектов платежа + */ + public function getLimit() + { + return $this->_limit; + } + + /** + * Проверяет был ли установлено ограничение количества объектов платежа + * @return bool True если было установлено, false если нет + */ + public function hasLimit() + { + return $this->_limit !== null; + } + + /** + * Устанавливает ограничение количества объектов платежа + * @param integer|null $value Ограничение количества объектов платежа или null чтобы удалить значение + * + * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передано не целое число + */ + public function setLimit($value) + { + if ($value === null || $value === '') { + $this->_limit = null; + } elseif (is_int($value)) { + if ($value < 0 || $value > self::MAX_LIMIT_VALUE) { + throw new InvalidPropertyValueException( + 'Invalid limit value in ReceiptsRequest', 0, 'ReceiptsRequest.limit', $value + ); + } + $this->_limit = $value; + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid limit value type in ReceiptsRequest', 0, 'ReceiptsRequest.limit', $value + ); + } + } + + /** + * Проверяет валидность текущего объекта запроса + * @return bool True если объект валиден, false если нет + */ + public function validate() + { + return true; + } + + /** + * Возвращает инстанс билдера объектов запросов списка возвратов магазина + * @return ReceiptsRequestBuilder Билдер объектов запросов списка возвратов + */ + public static function builder() + { + return new ReceiptsRequestBuilder(); + } +} diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsRequestBuilder.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsRequestBuilder.php new file mode 100644 index 0000000..9c8b426 --- /dev/null +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsRequestBuilder.php @@ -0,0 +1,195 @@ +currentObject->setRefundId($value); + return $this; + } + + /** + * Устанавливает идентификатор платежа или null если требуется его удалить + * @param string|null $value Идентификатор платежа + * @return ReceiptsRequestBuilder Инстанс текущего объекта билдера + * + * @throws InvalidPropertyValueException Выбрасывается если длина переданной строки не равна 36 символам + * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка + */ + public function setPaymentId($value) + { + $this->currentObject->setPaymentId($value); + return $this; + } + + /** + * Устанавливает статус выбираемых чеков + * @param string $value Статус выбираемых платежей или null чтобы удалить значение + * @return ReceiptsRequestBuilder Инстанс текущего объекта билдера + * + * @throws InvalidPropertyValueException Выбрасывается если переданное значение не является валидным статусом + * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка + */ + public function setStatus($value) + { + $this->currentObject->setStatus($value); + return $this; + } + + /** + * Устанавливает ограничение количества объектов чеков + * @param string $value Ограничение количества объектов чеков или null чтобы удалить значение + * @return ReceiptsRequestBuilder Инстанс текущего билдера + * + * @throws InvalidPropertyValueTypeException Выбрасывается если в метод было передана не целое число + */ + public function setLimit($value) + { + $this->currentObject->setLimit($value); + return $this; + } + + /** + * Устанавливает токен следующей страницы выборки + * @param string $value Токен следующей страницы выборки или null чтобы удалить значение + * @return ReceiptsRequestBuilder Инстанс текущего объекта билдера + * + * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка + */ + public function setCursor($value) + { + $this->currentObject->setCursor($value); + return $this; + } + + /** + * Устанавливает дату создания от которой выбираются чеки + * @param \DateTime|string|int|null $value Время создания, от (не включая) или null чтобы удалить значение + * @return ReceiptsRequestBuilder Инстанс текущего объекта билдера + * + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) + */ + public function setCreatedAtGt($value) + { + $this->currentObject->setCreatedAtGt($value); + return $this; + } + + /** + * Устанавливает дату создания от которой выбираются чеки + * @param \DateTime|string|int|null $value Время создания, от (включительно) или null чтобы удалить значение + * @return ReceiptsRequestBuilder Инстанс текущего объекта билдера + * + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) + */ + public function setCreatedAtGte($value) + { + $this->currentObject->setCreatedAtGte($value); + return $this; + } + + /** + * Устанавливает дату создания до которой выбираются чеки + * @param \DateTime|string|int|null $value Время создания, до (не включая) или null чтобы удалить значение + * @return ReceiptsRequestBuilder Инстанс текущего объекта билдера + * + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) + */ + public function setCreatedAtLt($value) + { + $this->currentObject->setCreatedAtLt($value); + return $this; + } + + /** + * Устанавливает дату создания до которой выбираются чеки + * @param \DateTime|string|int|null $value Время создания, до (включительно) или null чтобы удалить значение + * @return ReceiptsRequestBuilder Инстанс текущего объекта билдера + * + * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана + * строка или число, которые не удалось преобразовать в валидную дату) + * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * строка, не число и не значение типа \DateTime) + */ + public function setCreatedAtLte($value) + { + $this->currentObject->setCreatedAtLte($value); + return $this; + } + + /** + * Собирает и возвращает объект запроса списка чеков магазина + * @param array|null $options Массив с настройками запроса + * @return ReceiptsRequestInterface Инстанс объекта запроса к API для получения списка чеков магазина + */ + public function build(array $options = null) + { + return parent::build($options); + } +} \ No newline at end of file diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsRequestInterface.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsRequestInterface.php new file mode 100644 index 0000000..052d277 --- /dev/null +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsRequestInterface.php @@ -0,0 +1,153 @@ + 'cursor', + 'createdAtGte' => 'created_at.gte', + 'createdAtGt' => 'created_at.gt', + 'createdAtLte' => 'created_at.lte', + 'createdAtLt' => 'created_at.lt', + 'limit' => 'limit', + 'paymentId' => 'payment_id', + 'refundId' => 'refund_id', + 'status' => 'status', + ); + + /** + * Сериализует объект запроса к API для дальнейшей его отправки + * @param ReceiptsRequestInterface $request Сериализуемый объект + * @return array Массив с инфомрацией, отпарвляемый в дальнейшем в API + */ + public function serialize(ReceiptsRequestInterface $request) + { + $result = array(); + foreach (self::$propertyMap as $property => $name) { + $value = $request->{$property}; + if (!empty($value)) { + if ($value instanceof \DateTime) { + if ($value->getTimestamp() > 1) { + $result[$name] = $value->format(DATE_ATOM); + } + } else { + $result[$name] = $value; + } + } + } + return $result; + } +} \ No newline at end of file diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsResponse.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsResponse.php index 887ca3b..93834e6 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsResponse.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/ReceiptsResponse.php @@ -46,6 +46,11 @@ class ReceiptsResponse */ private $items; + /** + * @var string|null Токен следующей страницы + */ + private $nextCursor; + /** * @var ReceiptResponseFactory Фабрика для создания чеков */ @@ -71,6 +76,10 @@ public function __construct($response) $this->items[] = $receipt; } } + + if (!empty($response['next_cursor'])) { + $this->nextCursor = $response['next_cursor']; + } } /** @@ -91,4 +100,21 @@ public function getItems() return $this->items; } + /** + * Возвращает токен следующей страницы, если он задан, или null + * @return string|null Токен следующей страницы + */ + public function getNextCursor() + { + return $this->nextCursor; + } + + /** + * Проверяет имееотся ли в ответе токен следующей страницы + * @return bool True если токен следующей страницы есть, false если нет + */ + public function hasNextCursor() + { + return $this->nextCursor !== null; + } } \ No newline at end of file diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/SimpleReceiptResponse.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/SimpleReceiptResponse.php new file mode 100644 index 0000000..f2edbea --- /dev/null +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Receipts/SimpleReceiptResponse.php @@ -0,0 +1,46 @@ +setReceiptRegistration($options['receipt_registration']); } - if (!empty($options['comment'])) { - $this->setComment($options['comment']); + if (!empty($options['description'])) { + $this->setDescription($options['description']); } } } diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequest.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequest.php index 9b903f5..1b5aab1 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequest.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequest.php @@ -41,7 +41,7 @@ * * @property string $paymentId Айди платежа для которого создаётся возврат * @property AmountInterface $amount Сумма возврата - * @property string $comment Комментарий к операции возврата, основание для возврата средств покупателю. + * @property string $description Комментарий к операции возврата, основание для возврата средств покупателю. * @property ReceiptInterface|null $receipt Инстанс чека или null */ class CreateRefundRequest extends AbstractPaymentRequest implements CreateRefundRequestInterface @@ -54,7 +54,7 @@ class CreateRefundRequest extends AbstractPaymentRequest implements CreateRefund /** * @var string Комментарий к операции возврата, основание для возврата средств покупателю. */ - private $_comment; + private $_description; /** * @var SourceInterface[] @@ -102,44 +102,69 @@ public function setPaymentId($value) /** * Возвращает комментарий к возврату или null, если комментарий не задан + * @deprecated Устарел. Будет удален в одной из следующих версий * @return string Комментарий к операции возврата, основание для возврата средств покупателю. */ public function getComment() { - return $this->_comment; + return $this->getDescription(); + } + + /** + * Возвращает комментарий к возврату или null, если комментарий не задан + * @return string Комментарий к операции возврата, основание для возврата средств покупателю. + */ + public function getDescription() + { + return $this->_description; } /** * Проверяет задан ли комментарий к создаваемому возврату + * @deprecated Устарел. Будет удален в одной из следующих версий * @return bool True если комментарий установлен, false если нет */ public function hasComment() { - return $this->_comment !== null; + return $this->hasDescription(); + } + + /** + * Проверяет задан ли комментарий к создаваемому возврату + * @return bool True если комментарий установлен, false если нет + */ + public function hasDescription() + { + return $this->_description !== null; } /** * Устанавливает комментарий к возврату + * @deprecated Устарел. Будет удален в одной из следующих версий * @param string $value Комментарий к операции возврата, основание для возврата средств покупателю * - * @throws InvalidPropertyValueException Выбрасывается если переданная строка длинее 250 символов * @throws InvalidPropertyValueTypeException Выбрасывается если была передана не строка */ public function setComment($value) + { + $this->setDescription($value); + } + + /** + * Устанавливает комментарий к возврату + * @param string $value Комментарий к операции возврата, основание для возврата средств покупателю + * + * @throws InvalidPropertyValueTypeException Выбрасывается если была передана не строка + */ + public function setDescription($value) { if ($value === null || $value === '') { - $this->_comment = null; + $this->_description = null; } elseif (TypeCast::canCastToString($value)) { - $length = mb_strlen($value, 'utf-8'); - if ($length > 250) { - throw new InvalidPropertyValueException( - 'Invalid commend value in CreateRefundRequest', 0, 'CreateRefundRequest.comment', $value - ); - } - $this->_comment = (string)$value; + $this->_description = (string)$value; } else { throw new InvalidPropertyValueTypeException( - 'Invalid commend value type in CreateRefundRequest', 0, 'CreateRefundRequest.comment', $value + 'Invalid description value type in CreateRefundRequest', 0, 'CreateRefundRequest.description', $value ); } } diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequestBuilder.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequestBuilder.php index 5c46bdc..578d565 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequestBuilder.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequestBuilder.php @@ -78,15 +78,28 @@ public function setPaymentId($value) /** * Устанавливает комментарий к возврату + * @deprecated Устарел. Будет удален в одной из следующих версий * @param string $value Комментарий к возврату * @return CreateRefundRequestBuilder Инстанс текущего билдера * - * @throws InvalidPropertyValueException Выбрасывается если переданная строка длинее 250 символов * @throws InvalidPropertyValueTypeException Выбрасывается если была передана не строка */ public function setComment($value) { - $this->currentObject->setComment($value); + $this->currentObject->setDescription($value); + return $this; + } + + /** + * Устанавливает комментарий к возврату + * @param string $value Комментарий к возврату + * @return CreateRefundRequestBuilder Инстанс текущего билдера + * + * @throws InvalidPropertyValueTypeException Выбрасывается если была передана не строка + */ + public function setDescription($value) + { + $this->currentObject->setDescription($value); return $this; } diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequestInterface.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequestInterface.php index c0871e0..31f5778 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequestInterface.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequestInterface.php @@ -38,7 +38,7 @@ * * @property-read string $paymentId Айди платежа для которого создаётся возврат * @property-read AmountInterface $amount Сумма возврата - * @property-read string $comment Комментарий к операции возврата, основание для возврата средств покупателю. + * @property-read string $description Комментарий к операции возврата, основание для возврата средств покупателю. * @property-read ReceiptInterface|null $receipt Инстанс чека или null */ interface CreateRefundRequestInterface @@ -57,16 +57,30 @@ function getAmount(); /** * Возвращает комментарий к возврату или null, если комментарий не задан + * @deprecated Устарел. Будет удален в одной из следующих версий * @return string Комментарий к операции возврата, основание для возврата средств покупателю. */ function getComment(); + /** + * Возвращает комментарий к возврату или null, если комментарий не задан + * @return string Комментарий к операции возврата, основание для возврата средств покупателю. + */ + function getDescription(); + /** * Проверяет задан ли комментарий к создаваемому возврату + * @deprecated Устарел. Будет удален в одной из следующих версий * @return bool True если комментарий установлен, false если нет */ function hasComment(); + /** + * Проверяет задан ли комментарий к создаваемому возврату + * @return bool True если комментарий установлен, false если нет + */ + function hasDescription(); + /** * Возвращает инстанс чека или null если чек не задан * @return ReceiptInterface|null Инстанс чека или null diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequestSerializer.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequestSerializer.php index 4951777..249e2a4 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequestSerializer.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/CreateRefundRequestSerializer.php @@ -54,8 +54,8 @@ public function serialize(CreateRefundRequestInterface $request) 'currency' => $request->getAmount()->getCurrency(), ), ); - if ($request->hasComment()) { - $result['comment'] = $request->getComment(); + if ($request->hasDescription()) { + $result['description'] = $request->getDescription(); } if ($request->hasReceipt()) { $receipt = $request->getReceipt(); @@ -83,11 +83,11 @@ public function serialize(CreateRefundRequestInterface $request) $result['receipt']['items'][] = $itemArray; } - $value = $receipt->getEmail(); + $value = $receipt->getCustomer()->getEmail(); if (!empty($value)) { $result['receipt']['customer']['email'] = $value; } - $value = $receipt->getPhone(); + $value = $receipt->getCustomer()->getPhone(); if (!empty($value)) { $result['receipt']['customer']['phone'] = $value; } diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequest.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequest.php index 7ea3c5f..5360d5e 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequest.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequest.php @@ -26,6 +26,7 @@ namespace YandexCheckout\Request\Refunds; +use Exception; use YandexCheckout\Common\AbstractRequest; use YandexCheckout\Common\Exceptions\InvalidPropertyValueException; use YandexCheckout\Common\Exceptions\InvalidPropertyValueTypeException; @@ -37,136 +38,86 @@ * * @package YandexCheckout\Request\Refunds * - * @property string $refundId Идентификатор возврата + * @property \DateTime $createdAtGte Время создания, от (включительно) + * @property \DateTime $createdAtGt Время создания, от (не включая) + * @property \DateTime $createdAtLte Время создания, до (включительно) + * @property \DateTime $createdAtLt Время создания, до (не включая) * @property string $paymentId Идентификатор платежа - * @property string $accountId Идентификатор магазина - * @property string $gatewayId Идентификатор шлюза - * @property \DateTime $createdGte Время создания, от (включительно) - * @property \DateTime $createdGt Время создания, от (не включая) - * @property \DateTime $createdLte Время создания, до (включительно) - * @property \DateTime $createdLt Время создания, до (не включая) - * @property \DateTime $authorizedGte Время проведения операции, от (включительно) - * @property \DateTime $authorizedGt Время проведения операции, от (не включая) - * @property \DateTime $authorizedLte Время проведения, до (включительно) - * @property \DateTime $authorizedLt Время проведения, до (не включая) * @property string $status Статус возврата - * @property string $nextPage Токен для получения следующей страницы выборки + * @property integer|null $limit Ограничение количества объектов возврата, отображаемых на одной странице выдачи + * @property string $cursor Токен для получения следующей страницы выборки */ class RefundsRequest extends AbstractRequest implements RefundsRequestInterface { - /** - * @var string Идентификатор возврата - */ - private $_refundId; - - /** - * @var string Идентификатор шлюза - */ - private $_paymentId; - - /** - * @var string Идентификатор магазина - */ - private $_accountId; - - /** - * @var string Идентификатор шлюза - */ - private $_gatewayId; + const MAX_LIMIT_VALUE = 100; /** * @var \DateTime Время создания, от (включительно) */ - private $_createdGte; + private $_createdAtGte; /** * @var \DateTime Время создания, от (не включая) */ - private $_createdGt; + private $_createdAtGt; /** * @var \DateTime Время создания, до (включительно) */ - private $_createdLte; + private $_createdAtLte; /** * @var \DateTime Время создания, до (не включая) */ - private $_createdLt; - - /** - * @var \DateTime Время проведения операции, от (включительно) - */ - private $_authorizedGte; + private $_createdAtLt; /** - * @var \DateTime Время проведения операции, от (не включая) - */ - private $_authorizedGt; - - /** - * @var \DateTime Время проведения, до (включительно) + * @var string Идентификатор шлюза */ - private $_authorizedLte; + private $_paymentId; /** - * @var \DateTime Время проведения, до (не включая) + * @var string Статус возврата */ - private $_authorizedLt; + private $_status; /** - * @var string Статус возврата + * @var string Ограничение количества объектов платежа */ - private $_status; + private $_limit; /** * @var string Токен для получения следующей страницы выборки */ - private $_nextPage; + private $_cursor; /** * Возвращает идентификатор возврата + * @deprecated Будет удален в следующих версиях * @return string Идентификатор возврата */ public function getRefundId() { - return $this->_refundId; + return null; } /** * Проверяет был ли установлен идентификатор возврата + * @deprecated Будет удален в следующих версиях * @return bool True если идентификатор возврата был установлен, false если не был */ public function hasRefundId() { - return $this->_refundId !== null; + return false; } /** * Устанавливает идентификатор возврата + * @deprecated Будет удален в следующих версиях * @param string $value Идентификатор возврата, который ищется в API - * - * @throws InvalidPropertyValueException Выбрасывается если длина переданного значения не равна 36 - * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка */ public function setRefundId($value) - { - if ($value === null || $value === '') { - $this->_refundId = null; - } elseif (TypeCast::canCastToString($value)) { - $length = mb_strlen((string)$value, 'utf-8'); - if ($length != 36) { - throw new InvalidPropertyValueException( - 'Invalid refund id value', 0, 'RefundsRequest.refundId', $value - ); - } - $this->_refundId = (string)$value; - } else { - throw new InvalidPropertyValueTypeException( - 'Invalid refund id value type', 0, 'RefundsRequest.refundId', $value - ); - } - } + {} /** * Возвращает идентификатор платежа если он задан или null @@ -214,94 +165,76 @@ public function setPaymentId($value) /** * Возвращает идентификатор магазина, если он был задан + * @deprecated Будет удален в следующих версиях * @return string|null Идентификатор магазина */ public function getAccountId() { - return $this->_accountId; + return null; } /** * Проверяет, был ли установлен идентификатор магазина + * @deprecated Будет удален в следующих версиях * @return bool True если идентификатор магазина был установлен, false если нет */ public function hasAccountId() { - return !empty($this->_accountId); + return false; } /** * Устанавлвиает идентификатор магазина + * @deprecated Будет удален в следующих версиях * @param string $value Идентификатор магазина или null чтобы удалить значение - * - * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка */ public function setAccountId($value) - { - if ($value === null || $value === '') { - $this->_accountId = null; - } elseif (TypeCast::canCastToString($value)) { - $this->_accountId = (string)$value; - } else { - throw new InvalidPropertyValueTypeException( - 'Invalid accountId value type in RefundsRequest', 0, 'RefundsRequest.accountId', $value - ); - } - } + {} /** * Возвращает идентификатор шлюза + * @deprecated Будет удален в следующих версиях * @return string|null Идентификатор шлюза */ public function getGatewayId() { - return $this->_gatewayId; + return null; } /** * Проверяет был ли установлен идентификатор шлюза + * @deprecated Будет удален в следующих версиях * @return bool True если идентификатор шлюза был установлен, false если нет */ public function hasGatewayId() { - return !empty($this->_gatewayId); + return false; } /** * Устанавливает идентификатор шлюза + * @deprecated Будет удален в следующих версиях * @param string|null $value Идентификатор шлюза или null чтобы удалить значение - * - * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка */ public function setGatewayId($value) - { - if ($value === null || $value === '') { - $this->_gatewayId = null; - } elseif (TypeCast::canCastToString($value)) { - $this->_gatewayId = (string)$value; - } else { - throw new InvalidPropertyValueTypeException( - 'Invalid gatewayId value type in RefundsRequest', 0, 'RefundsRequest.gatewayId', $value - ); - } - } + {} /** * Возвращает дату создания от которой будут возвращены возвраты или null если дата не была установлена * @return \DateTime|null Время создания, от (включительно) */ - public function getCreatedGte() + public function getCreatedAtGte() { - return $this->_createdGte; + return $this->_createdAtGte; } /** * Проверяет была ли установлена дата создания от которой выбираются возвраты * @return bool True если дата была установлена, false если нет */ - public function hasCreatedGte() + public function hasCreatedAtGte() { - return !empty($this->_createdGte); + return !empty($this->_createdAtGte); } /** @@ -310,24 +243,24 @@ public function hasCreatedGte() * * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ - public function setCreatedGte($value) + public function setCreatedAtGte($value) { if ($value === null || $value === '') { - $this->_createdGte = null; + $this->_createdAtGte = null; } elseif (TypeCast::canCastToDateTime($value)) { $dateTime = TypeCast::castToDateTime($value); if ($dateTime === null) { throw new InvalidPropertyValueException( - 'Invalid created_gte value in RefundsRequest', 0, 'RefundsRequest.createdGte' + 'Invalid created_gte value in RefundsRequest', 0, 'RefundsRequest.createdAtGte' ); } - $this->_createdGte = $dateTime; + $this->_createdAtGte = $dateTime; } else { throw new InvalidPropertyValueTypeException( - 'Invalid created_gte value type in RefundsRequest', 0, 'RefundsRequest.createdGte' + 'Invalid created_gte value type in RefundsRequest', 0, 'RefundsRequest.createdAtGte' ); } } @@ -336,18 +269,18 @@ public function setCreatedGte($value) * Возвращает дату создания от которой будут возвращены возвраты или null если дата не была установлена * @return \DateTime|null Время создания, от (не включая) */ - public function getCreatedGt() + public function getCreatedAtGt() { - return $this->_createdGt; + return $this->_createdAtGt; } /** * Проверяет была ли установлена дата создания от которой выбираются возвраты * @return bool True если дата была установлена, false если нет */ - public function hasCreatedGt() + public function hasCreatedAtGt() { - return !empty($this->_createdGt); + return !empty($this->_createdAtGt); } /** @@ -356,24 +289,24 @@ public function hasCreatedGt() * * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ - public function setCreatedGt($value) + public function setCreatedAtGt($value) { if ($value === null || $value === '') { - $this->_createdGt = null; + $this->_createdAtGt = null; } elseif (TypeCast::canCastToDateTime($value)) { $dateTime = TypeCast::castToDateTime($value); if ($dateTime === null) { throw new InvalidPropertyValueException( - 'Invalid created_gt value in RefundsRequest', 0, 'RefundsRequest.createdGt' + 'Invalid created_gt value in RefundsRequest', 0, 'RefundsRequest.createdAtGt' ); } - $this->_createdGt = $dateTime; + $this->_createdAtGt = $dateTime; } else { throw new InvalidPropertyValueTypeException( - 'Invalid created_gt value type in RefundsRequest', 0, 'RefundsRequest.createdGt' + 'Invalid created_gt value type in RefundsRequest', 0, 'RefundsRequest.createdAtGt' ); } } @@ -382,18 +315,18 @@ public function setCreatedGt($value) * Возвращает дату создания до которой будут возвращены возвраты или null если дата не была установлена * @return \DateTime|null Время создания, до (включительно) */ - public function getCreatedLte() + public function getCreatedAtLte() { - return $this->_createdLte; + return $this->_createdAtLte; } /** * Проверяет была ли установлена дата создания до которой выбираются возвраты * @return bool True если дата была установлена, false если нет */ - public function hasCreatedLte() + public function hasCreatedAtLte() { - return !empty($this->_createdLte); + return !empty($this->_createdAtLte); } /** @@ -402,13 +335,13 @@ public function hasCreatedLte() * * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ - public function setCreatedLte($value) + public function setCreatedAtLte($value) { if ($value === null || $value === '') { - $this->_createdLte = null; + $this->_createdAtLte = null; } elseif (TypeCast::canCastToDateTime($value)) { $dateTime = TypeCast::castToDateTime($value); if ($dateTime === null) { @@ -416,7 +349,7 @@ public function setCreatedLte($value) 'Invalid created_lte value in RefundsRequest', 0, 'RefundsRequest.createdLte' ); } - $this->_createdLte = $dateTime; + $this->_createdAtLte = $dateTime; } else { throw new InvalidPropertyValueTypeException( 'Invalid created_lte value type in RefundsRequest', 0, 'RefundsRequest.createdLte' @@ -428,18 +361,18 @@ public function setCreatedLte($value) * Возвращает дату создания до которой будут возвращены возвраты или null если дата не была установлена * @return \DateTime|null Время создания, до (не включая) */ - public function getCreatedLt() + public function getCreatedAtLt() { - return $this->_createdLt; + return $this->_createdAtLt; } /** * Проверяет была ли установлена дата создания до которой выбираются возвраты * @return bool True если дата была установлена, false если нет */ - public function hasCreatedLt() + public function hasCreatedAtLt() { - return !empty($this->_createdLt); + return !empty($this->_createdAtLt); } /** @@ -448,13 +381,13 @@ public function hasCreatedLt() * * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не + * @throws InvalidPropertyValueTypeException|Exception Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ - public function setCreatedLt($value) + public function setCreatedAtLt($value) { if ($value === null || $value === '') { - $this->_createdLt = null; + $this->_createdAtLt = null; } elseif (TypeCast::canCastToDateTime($value)) { $dateTime = TypeCast::castToDateTime($value); if ($dateTime === null) { @@ -462,7 +395,7 @@ public function setCreatedLt($value) 'Invalid created_lt value in RefundsRequest', 0, 'RefundsRequest.createdLt' ); } - $this->_createdLt = $dateTime; + $this->_createdAtLt = $dateTime; } else { throw new InvalidPropertyValueTypeException( 'Invalid created_lt value type in RefundsRequest', 0, 'RefundsRequest.createdLt' @@ -472,189 +405,117 @@ public function setCreatedLt($value) /** * Возвращает дату проведения от которой будут возвращены возвраты или null если дата не была установлена + * @deprecated Будет удален в следующих версиях * @return \DateTime|null Время проведения операции, от (включительно) */ public function getAuthorizedGte() { - return $this->_authorizedGte; + return null; } /** * Проверяет была ли установлена дата проведения от которой выбираются возвраты + * @deprecated Будет удален в следующих версиях * @return bool True если дата была установлена, false если нет */ public function hasAuthorizedGte() { - return !empty($this->_authorizedGte); + return false; } /** * Устанавливает дату проведения от которой выбираются возвраты + * @deprecated Будет удален в следующих версиях * @param \DateTime|string|int|null $value Время проведения операции, от (не включая) или null чтобы удалить * значение - * - * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана - * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не - * строка, не число и не значение типа \DateTime) */ public function setAuthorizedGte($value) - { - if ($value === null || $value === '') { - $this->_authorizedGte = null; - } elseif (TypeCast::canCastToDateTime($value)) { - $dateTime = TypeCast::castToDateTime($value); - if ($dateTime === null) { - throw new InvalidPropertyValueException( - 'Invalid authorized_gte value in RefundsRequest', 0, 'RefundsRequest.authorizedGte' - ); - } - $this->_authorizedGte = $dateTime; - } else { - throw new InvalidPropertyValueTypeException( - 'Invalid authorized_gte value type in RefundsRequest', 0, 'RefundsRequest.authorizedGte' - ); - } - } + {} /** * Возвращает дату проведения от которой будут возвращены возвраты или null если дата не была установлена + * @deprecated Будет удален в следующих версиях * @return \DateTime|null Время проведения операции, от (не включая) */ public function getAuthorizedGt() { - return $this->_authorizedGt; + return null; } /** * Проверяет была ли установлена дата проведения от которой выбираются возвраты + * @deprecated Будет удален в следующих версиях * @return bool True если дата была установлена, false если нет */ public function hasAuthorizedGt() { - return !empty($this->_authorizedGt); + return false; } /** * Устанавливает дату проведения от которой выбираются возвраты + * @deprecated Будет удален в следующих версиях * @param \DateTime|string|int|null $value Время проведения операции, от (не включая) или null чтобы удалить * значение - * - * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана - * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не - * строка, не число и не значение типа \DateTime) */ public function setAuthorizedGt($value) - { - if ($value === null || $value === '') { - $this->_authorizedGt = null; - } elseif (TypeCast::canCastToDateTime($value)) { - $dateTime = TypeCast::castToDateTime($value); - if ($dateTime === null) { - throw new InvalidPropertyValueException( - 'Invalid authorized_gt value in RefundsRequest', 0, 'RefundsRequest.authorizedGt' - ); - } - $this->_authorizedGt = $dateTime; - } else { - throw new InvalidPropertyValueTypeException( - 'Invalid authorized_gt value type in RefundsRequest', 0, 'RefundsRequest.authorizedGt' - ); - } - } + {} /** * Возвращает дату проведения до которой будут возвращены возвраты или null если дата не была установлена + * @deprecated Будет удален в следующих версиях * @return \DateTime|null Время проведения, до (включительно) */ public function getAuthorizedLte() { - return $this->_authorizedLte; + return null; } /** * Проверяет была ли установлена дата проведения до которой выбираются возвраты + * @deprecated Будет удален в следующих версиях * @return bool True если дата была установлена, false если нет */ public function hasAuthorizedLte() { - return !empty($this->_authorizedLte); + return false; } /** * Устанавливает дату проведения до которой выбираются возвраты + * @deprecated Будет удален в следующих версиях * @param \DateTime|string|int|null $value Время проведения, до (включительно) или null чтобы удалить значение - * - * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана - * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не - * строка, не число и не значение типа \DateTime) */ public function setAuthorizedLte($value) - { - if ($value === null || $value === '') { - $this->_authorizedLte = null; - } elseif (TypeCast::canCastToDateTime($value)) { - $dateTime = TypeCast::castToDateTime($value); - if ($dateTime === null) { - throw new InvalidPropertyValueException( - 'Invalid authorized_lte value in RefundsRequest', 0, 'RefundsRequest.authorizedLte' - ); - } - $this->_authorizedLte = $dateTime; - } else { - throw new InvalidPropertyValueTypeException( - 'Invalid authorized_lte value type in RefundsRequest', 0, 'RefundsRequest.authorizedLte' - ); - } - } + {} /** * Возвращает дату проведения до которой будут возвращены платежи возвраты или null если она не была установлена + * @deprecated Будет удален в следующих версиях * @return \DateTime|null Время проведения, до (не включая) */ public function getAuthorizedLt() { - return $this->_authorizedLt; + return null; } /** * Проверяет была ли установлена дата проведения до которой выбираются вовзраты + * @deprecated Будет удален в следующих версиях * @return bool True если дата была установлена, false если нет */ public function hasAuthorizedLt() { - return !empty($this->_authorizedLt); + return false; } /** * Устанавливает дату проведения до которой выбираются возвраты + * @deprecated Будет удален в следующих версиях * @param \DateTime|string|int|null $value Время проведения, до (не включая) или null чтобы удалить значение - * - * @throws InvalidPropertyValueException Генерируется если была передана дата в невалидном формате (была передана - * строка или число, которые не удалось преобразовать в валидную дату) - * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не - * строка, не число и не значение типа \DateTime) */ public function setAuthorizedLt($value) - { - if ($value === null || $value === '') { - $this->_authorizedLt = null; - } elseif (TypeCast::canCastToDateTime($value)) { - $dateTime = TypeCast::castToDateTime($value); - if ($dateTime === null) { - throw new InvalidPropertyValueException( - 'Invalid authorized_lt value in RefundsRequest', 0, 'RefundsRequest.authorizedLt' - ); - } - $this->_authorizedLt = $dateTime; - } else { - throw new InvalidPropertyValueTypeException( - 'Invalid authorized_lt value type in RefundsRequest', 0, 'RefundsRequest.authorizedLt' - ); - } - } + {} /** * Возвращает статус выбираемых возвратов или null если он до этого не был установлен @@ -704,18 +565,18 @@ public function setStatus($value) * Возвращает токен для получения следующей страницы выборки * @return string|null Токен для получения следующей страницы выборки */ - public function getNextPage() + public function getCursor() { - return $this->_nextPage; + return $this->_cursor; } /** * Проверяет был ли установлен токен следующей страницы * @return bool True если токен был установлен, false если нет */ - public function hasNextPage() + public function hasCursor() { - return !empty($this->_nextPage); + return !empty($this->_cursor); } /** @@ -724,15 +585,84 @@ public function hasNextPage() * * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка */ - public function setNextPage($value) + public function setCursor($value) { if ($value === null || $value === '') { - $this->_nextPage = null; + $this->_cursor = null; } elseif (TypeCast::canCastToString($value)) { - $this->_nextPage = (string) $value; + $this->_cursor = (string) $value; } else { throw new InvalidPropertyValueTypeException( - 'Invalid status value in PaymentsRequest', 0, 'PaymentsRequest.status', $value + 'Invalid status value in RefundsRequest', 0, 'RefundsRequest.cursor', $value + ); + } + } + + /** + * @deprecated Будет удален в следующих версиях + * @return string + */ + public function getNextPage() + { + return $this->_cursor; + } + + /** + * @deprecated Будет удален в следующих версиях + * @return bool + */ + public function hasNextPage() + { + return !empty($this->_cursor); + } + + /** + * @deprecated Будет удален в следующих версиях + * @param $value + */ + public function setNextPage($value) + { + $this->setCursor($value); + } + + /** + * Ограничение количества объектов платежа + * @return integer|null Ограничение количества объектов платежа + */ + public function getLimit() + { + return $this->_limit; + } + + /** + * Проверяет был ли установлено ограничение количества объектов платежа + * @return bool True если было установлено, false если нет + */ + public function hasLimit() + { + return $this->_limit !== null; + } + + /** + * Устанавливает ограничение количества объектов платежа + * @param integer|null $value Ограничение количества объектов платежа или null чтобы удалить значение + * + * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передано не целое число + */ + public function setLimit($value) + { + if ($value === null || $value === '') { + $this->_limit = null; + } elseif (is_int($value)) { + if ($value < 0 || $value > self::MAX_LIMIT_VALUE) { + throw new InvalidPropertyValueException( + 'Invalid limit value in RefundsRequest', 0, 'RefundsRequest.limit', $value + ); + } + $this->_limit = $value; + } else { + throw new InvalidPropertyValueTypeException( + 'Invalid limit value type in RefundsRequest', 0, 'RefundsRequest.limit', $value ); } } @@ -743,10 +673,6 @@ public function setNextPage($value) */ public function validate() { - if (empty($this->_accountId)) { - $this->setValidationError('Shop id not specified'); - return false; - } return true; } diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequestBuilder.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequestBuilder.php index 3616c8b..94b5a25 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequestBuilder.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequestBuilder.php @@ -53,6 +53,7 @@ protected function initCurrentObject() /** * Устанавливает идентификатор возврата + * @deprecated Будет удален в следующих версиях * @param string $value Идентификатор возврата, который ищется в API * @return RefundsRequestBuilder Инстанс текущего объекта билдера * @@ -81,6 +82,7 @@ public function setPaymentId($value) /** * Устанавлвиает идентификатор магазина + * @deprecated Будет удален в следующих версиях * @param string $value Идентификатор магазина или null чтобы удалить значение * @return RefundsRequestBuilder Инстанс текущего объекта билдера * @@ -94,6 +96,7 @@ public function setAccountId($value) /** * Устанавливает идентификатор шлюза + * @deprecated Будет удален в следующих версиях * @param string|null $value Идентификатор шлюза или null чтобы удалить значение * @return RefundsRequestBuilder Инстанс текущего объекта билдера * @@ -119,6 +122,19 @@ public function setStatus($value) return $this; } + /** + * Устанавливает ограничение количества объектов возвратов + * @param string $value Ограничение количества объектов возвратов или null чтобы удалить значение + * @return RefundsRequestBuilder Инстанс текущего билдера + * + * @throws InvalidPropertyValueTypeException Выбрасывается если в метод было передана не целое число + */ + public function setLimit($value) + { + $this->currentObject->setLimit($value); + return $this; + } + /** * Устанавливает токен следующей страницы выборки * @param string $value Токен следующей страницы выборки или null чтобы удалить значение @@ -126,12 +142,22 @@ public function setStatus($value) * * @throws InvalidPropertyValueTypeException Выбрасывается если в метод была передана не строка */ - public function setNextPage($value) + public function setCursor($value) { - $this->currentObject->setNextPage($value); + $this->currentObject->setCursor($value); return $this; } + /** + * @deprecated Будет удален в следующих версиях + * @param $value + * @return $RefundsRequestBuilder + */ + public function setNextPage($value) + { + return $this->setCursor($value); + } + /** * Устанавливает дату создания от которой выбираются возвраты * @param \DateTime|string|int|null $value Время создания, от (не включая) или null чтобы удалить значение @@ -142,9 +168,9 @@ public function setNextPage($value) * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ - public function setCreatedGt($value) + public function setCreatedAtGt($value) { - $this->currentObject->setCreatedGt($value); + $this->currentObject->setCreatedAtGt($value); return $this; } @@ -158,9 +184,9 @@ public function setCreatedGt($value) * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ - public function setCreatedGte($value) + public function setCreatedAtGte($value) { - $this->currentObject->setCreatedGte($value); + $this->currentObject->setCreatedAtGte($value); return $this; } @@ -174,9 +200,9 @@ public function setCreatedGte($value) * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ - public function setCreatedLt($value) + public function setCreatedAtLt($value) { - $this->currentObject->setCreatedLt($value); + $this->currentObject->setCreatedAtLt($value); return $this; } @@ -190,14 +216,15 @@ public function setCreatedLt($value) * @throws InvalidPropertyValueTypeException Генерируется если была передана дата с не тем типом (передана не * строка, не число и не значение типа \DateTime) */ - public function setCreatedLte($value) + public function setCreatedAtLte($value) { - $this->currentObject->setCreatedLte($value); + $this->currentObject->setCreatedAtLte($value); return $this; } /** * Устанавливает дату проведения от которой выбираются возвраты + * @deprecated Будет удален в следующих версиях * @param \DateTime|string|int|null $value Время проведения операции, от (не включая) или null чтобы удалить * значение * @return RefundsRequestBuilder Инстанс текущего объекта билдера @@ -215,6 +242,7 @@ public function setAuthorizedGt($value) /** * Устанавливает дату проведения от которой выбираются возвраты + * @deprecated Будет удален в следующих версиях * @param \DateTime|string|int|null $value Время проведения операции, от (не включая) или null чтобы удалить * значение * @return RefundsRequestBuilder Инстанс текущего объекта билдера @@ -232,6 +260,7 @@ public function setAuthorizedGte($value) /** * Устанавливает дату проведения до которой выбираются возвраты + * @deprecated Будет удален в следующих версиях * @param \DateTime|string|int|null $value Время проведения, до (не включая) или null чтобы удалить значение * @return RefundsRequestBuilder Инстанс текущего объекта билдера * @@ -248,6 +277,7 @@ public function setAuthorizedLt($value) /** * Устанавливает дату проведения до которой выбираются возвраты + * @deprecated Будет удален в следующих версиях * @param \DateTime|string|int|null $value Время проведения, до (включительно) или null чтобы удалить значение * @return RefundsRequestBuilder Инстанс текущего объекта билдера * diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequestInterface.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequestInterface.php index feb7a03..cc9cc2e 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequestInterface.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequestInterface.php @@ -31,20 +31,14 @@ * * @package YandexCheckout\Request\Refunds * - * @property-read string $refundId * @property-read string $paymentId Идентификатор платежа - * @property-read string $accountId Идентификатор магазина - * @property-read string $gatewayId Идентификатор шлюза - * @property-read \DateTime $createdGte Время создания, от (включительно) - * @property-read \DateTime $createdGt Время создания, от (не включая) - * @property-read \DateTime $createdLte Время создания, до (включительно) - * @property-read \DateTime $createdLt Время создания, до (не включая) - * @property-read \DateTime $authorizedGte Время проведения операции, от (включительно) - * @property-read \DateTime $authorizedGt Время проведения операции, от (не включая) - * @property-read \DateTime $authorizedLte Время проведения, до (включительно) - * @property-read \DateTime $authorizedLt Время проведения, до (не включая) + * @property-read \DateTime $createdAtGte Время создания, от (включительно) + * @property-read \DateTime $createdAtGt Время создания, от (не включая) + * @property-read \DateTime $createdAtLte Время создания, до (включительно) + * @property-read \DateTime $createdAtLt Время создания, до (не включая) * @property-read string $status Статус возврата - * @property-read string $nextPage Токен для получения следующей страницы выборки + * @property-read string $cursor Токен для получения следующей страницы выборки + * @property-read integer|null $limit Ограничение количества объектов, отображаемых на одной странице выдачи */ interface RefundsRequestInterface { @@ -100,97 +94,49 @@ function hasGatewayId(); * Возвращает дату создания от которой будут возвращены возвраты или null если дата не была установлена * @return \DateTime|null Время создания, от (включительно) */ - function getCreatedGte(); + function getCreatedAtGte(); /** * Проверяет была ли установлена дата создания от которой выбираются возвраты * @return bool True если дата была установлена, false если нет */ - function hasCreatedGte(); + function hasCreatedAtGte(); /** * Возвращает дату создания от которой будут возвращены возвраты или null если дата не была установлена * @return \DateTime|null Время создания, от (не включая) */ - function getCreatedGt(); + function getCreatedAtGt(); /** * Проверяет была ли установлена дата создания от которой выбираются возвраты * @return bool True если дата была установлена, false если нет */ - function hasCreatedGt(); + function hasCreatedAtGt(); /** * Возвращает дату создания до которой будут возвращены возвраты или null если дата не была установлена * @return \DateTime|null Время создания, до (включительно) */ - function getCreatedLte(); + function getCreatedAtLte(); /** * Проверяет была ли установлена дата создания до которой выбираются возвраты * @return bool True если дата была установлена, false если нет */ - function hasCreatedLte(); + function hasCreatedAtLte(); /** * Возвращает дату создания до которой будут возвращены возвраты или null если дата не была установлена * @return \DateTime|null Время создания, до (не включая) */ - function getCreatedLt(); + function getCreatedAtLt(); /** * Проверяет была ли установлена дата создания до которой выбираются возвраты * @return bool True если дата была установлена, false если нет */ - function hasCreatedLt(); - - /** - * Возвращает дату проведения от которой будут возвращены возвраты или null если дата не была установлена - * @return \DateTime|null Время проведения операции, от (включительно) - */ - function getAuthorizedGte(); - - /** - * Проверяет была ли установлена дата проведения от которой выбираются возвраты - * @return bool True если дата была установлена, false если нет - */ - function hasAuthorizedGte(); - - /** - * Возвращает дату проведения от которой будут возвращены возвраты или null если дата не была установлена - * @return \DateTime|null Время проведения операции, от (не включая) - */ - function getAuthorizedGt(); - - /** - * Проверяет была ли установлена дата проведения от которой выбираются возвраты - * @return bool True если дата была установлена, false если нет - */ - function hasAuthorizedGt(); - - /** - * Возвращает дату проведения до которой будут возвращены возвраты или null если дата не была установлена - * @return \DateTime|null Время проведения, до (включительно) - */ - function getAuthorizedLte(); - - /** - * Проверяет была ли установлена дата проведения до которой выбираются возвраты - * @return bool True если дата была установлена, false если нет - */ - function hasAuthorizedLte(); - - /** - * Возвращает дату проведения до которой будут возвращены платежи возвраты или null если она не была установлена - * @return \DateTime|null Время проведения, до (не включая) - */ - function getAuthorizedLt(); - - /** - * Проверяет была ли установлена дата проведения до которой выбираются вовзраты - * @return bool True если дата была установлена, false если нет - */ - function hasAuthorizedLt(); + function hasCreatedAtLt(); /** * Возвращает статус выбираемых возвратов или null если он до этого не был установлен @@ -208,11 +154,11 @@ function hasStatus(); * Возвращает токен для получения следующей страницы выборки * @return string|null Токен для получения следующей страницы выборки */ - function getNextPage(); + function getCursor(); /** * Проверяет был ли установлен токен следующей страницы * @return bool True если токен был установлен, false если нет */ - function hasNextPage(); + function hasCursor(); } diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequestSerializer.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequestSerializer.php index b48a0b8..e3a3713 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequestSerializer.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsRequestSerializer.php @@ -37,19 +37,14 @@ class RefundsRequestSerializer * @var array Карта маппинга свойств объекта запроса на поля отправляемого запроса */ private static $propertyMap = array( - 'refundId' => 'refund_id', + 'cursor' => 'cursor', + 'createdAtGte' => 'created_at.gte', + 'createdAtGt' => 'created_at.gt', + 'createdAtLte' => 'created_at.lte', + 'createdAtLt' => 'created_at.lt', + 'limit' => 'limit', 'paymentId' => 'payment_id', - 'gatewayId' => 'gateway_id', - 'createdGte' => 'created_gte', - 'createdGt' => 'created_gt', - 'createdLte' => 'created_lte', - 'createdLt' => 'created_lt', - 'authorizedGte' => 'authorized_gte', - 'authorizedGt' => 'authorized_gt', - 'authorizedLte' => 'authorized_lte', - 'authorizedLt' => 'authorized_lt', 'status' => 'status', - 'nextPage' => 'next_page', ); /** @@ -59,9 +54,7 @@ class RefundsRequestSerializer */ public function serialize(RefundsRequestInterface $request) { - $result = array( - 'account_id' => $request->getAccountId(), - ); + $result = array(); foreach (self::$propertyMap as $property => $name) { $value = $request->{$property}; if (!empty($value)) { diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsResponse.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsResponse.php index 457acff..917a976 100644 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsResponse.php +++ b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/Refunds/RefundsResponse.php @@ -43,7 +43,7 @@ class RefundsResponse /** * @var string|null Токен следующей страницы */ - private $nextPage; + private $nextCursor; /** * Конструктор, устанавливает свойства объекта из пришедшего из API ассоциативного массива @@ -55,8 +55,8 @@ public function __construct(array $options) foreach ($options['items'] as $item) { $this->items[] = new RefundResponse($item); } - if (!empty($options['next_page'])) { - $this->nextPage = $options['next_page']; + if (!empty($options['next_cursor'])) { + $this->nextCursor = $options['next_cursor']; } } @@ -73,17 +73,35 @@ public function getItems() * Возвращает токен следующей страницы, если он задан, или null * @return string|null Токен следующей страницы */ - public function getNextPage() + public function getNextCursor() { - return $this->nextPage; + return $this->nextCursor; } /** * Проверяет имееотся ли в ответе токен следующей страницы * @return bool True если токен следующей страницы есть, false если нет */ + public function hasNextCursor() + { + return $this->nextCursor !== null; + } + + /** + * @deprecated Будет удален в следующих версиях + * @return string|null + */ + public function getNextPage() + { + return $this->nextCursor; + } + + /** + * @deprecated Будет удален в следующих версиях + * @return bool + */ public function hasNextPage() { - return $this->nextPage !== null; + return $this->nextCursor !== null; } }