diff --git a/CHANGELOG.md b/CHANGELOG.md index b92f5b7..999736d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,55 +1,4 @@ -### v1.3.0 от 09.11.2020 -* Изменена ссылка для обновления модуля yandex-money -> yoomoney -* Обновлен SDK до версии 1.6.8 +### v2.0.0 от 10.12.2020 +* Ребрендинг модуля -### v1.2.1 от 31.07.2020 -* Мелкие правки -* Правки по отправке второго чека - -### v1.2.0 от 10.07.2020 -* Обновлен SDK до версии 1.6.4 - -### v1.1.1 от 29.01.2020 -* фикс мелких багов - -### v1.1.0 от 12.11.2019 -* Обновлен SDK -* Добавлена поддержка отправки второго чека - -### v1.0.10 от 11.04.2019 -* Изменен лейбл для ставки НДС с 18% на 20% - -### v1.0.9 от 05.03.2019 -* Добавлен метод ТКС - -### v1.0.8 от 17.12.2018 -* Добавлены поля для ФФД 1.05 - -### v1.0.7 от 05.09.2018 -* Исправлены ошибки со списанием товаров при оплате/отмене заказа -* Теперь заказ после оплаты переходит в статус "Принят" -* На станице заказа теперь отображается комментарий пользователя - -### v1.0.6 от 05.06.2018 -* Добавлена отправка описания платежа в ЛК Яндекс.Кассы - -### v1.0.5 от 03.05.2018 -* Актуализация PHP SDK до версии 1.0.8 -* Добавлен метод "Заплатить по частям" - -### v1.0.4 от 10.04.2018 -* Актуализация PHP SDK до версии 1.0.6 -* Добавлена поддержка уведомлений succeeded - -### v1.0.3 -* Правки багов - -### v1.0.2 -* Исправление обработки нотификаций - -### v1.0.1 -* Добавлена отправка информации о имени CMS и версии используемого модуля в параметре metadata платежа -* Исправлено формирование чека - -### v1.0.0 -* Добавлена возможность оплаты с помощью SDK через API Яндекс.Кассы \ No newline at end of file +### diff --git a/LICENSE b/LICENSE index 7e1177d..4715701 100644 --- a/LICENSE +++ b/LICENSE @@ -1,3 +1,3 @@ Лицензионный договор. -Любое использование Вами программы означает полное и безоговорочное принятие Вами условий лицензионного договора, размещенного по адресу https://money.yandex.ru/doc.xml?id=527132 (далее – «Лицензионный договор»). Если Вы не принимаете условия Лицензионного договора в полном объёме, Вы не имеете права использовать программу в каких-либо целях. \ No newline at end of file +Любое использование Вами программы означает полное и безоговорочное принятие Вами условий лицензионного договора, размещенного по адресу https://yoomoney.ru/doc.xml?id=527132 (далее – «Лицензионный договор»). Если Вы не принимаете условия Лицензионного договора в полном объёме, Вы не имеете права использовать программу в каких-либо целях. \ No newline at end of file diff --git a/README.md b/README.md index 35f6532..5459bb5 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,38 @@ -# yandexmoney-simplacms +# yoomoney-cms-simpla -Модуль оплаты yandexmoney-simplacms необходим для интеграции с сервисом [Яндекс.Касса](http://kassa.yandex.ru/) на базе CMS SimplaCMS. +Модуль оплаты yoomoney-cms-simpla необходим для интеграции с сервисом [ЮKassa](https://yookassa.ru/) на базе CMS SimplaCMS. -Существует два платежных сценария: с выбором способа оплаты на сайте магазина и на стороне Яндекс.Кассы. +Существует два платежных сценария: с выбором способа оплаты на сайте магазина и на стороне ЮKassa. > **Выбор способа оплаты на сайте магазина** > В этом случае в настройках модуля отмечаются все способы оплаты, доступные этому магазину и плательщик выбирает нужный ему метод из списка на сайте магазина. Этот сценарий доступен всем магазинам по умолчанию. -> **Выбор способа оплаты на стороне Яндекс.Кассы** -> Все доступные магазину способы появятся на стороне Яндекс.Кассы сами. Новые способы оплаты будут добавляться автоматически. +> **Выбор способа оплаты на стороне ЮKassa** +> Все доступные магазину способы появятся на стороне ЮKassa сами. Новые способы оплаты будут добавляться автоматически. Доступные платежные методы, если вы работаете как юридическое лицо: * **Банковские карты** - Visa (включая Electron), MasterCard и Maestro любого банка мира -* **Электронные деньги** - Яндекс.Деньги, WebMoney и QIWI Wallet -* **Наличные** - [Более 170 тысяч пунктов](https://money.yandex.ru/pay/doc.xml?id=526209) оплаты по России +* **Электронные деньги** - ЮMoney, WebMoney и QIWI Wallet +* **Наличные** - [Более 170 тысяч пунктов](https://yoomoney.ru/doc.xml?id=526209) оплаты по России * **Баланс телефона** - Билайн, МегаФон и МТС * **Интернет банкинг** - Альфа-Клик, Сбербанк Онлайн, MasterPass и Промсвязьбанк * **Кредитование** - Доверительный платеж (Куппи.ру) ### Поддержка передачи данных чека -Если вы настраивали отправку чеков в налоговую через партнеров Яндекс.Кассы (по 54-ФЗ), в настройках модуля надо включить отправку данных для чека. -[Помощь Кассы: отправка чеков по 54-ФЗ](https://yandex.ru/support/checkout/payments/tax-sync.html) +Если вы настраивали отправку чеков в налоговую через партнеров ЮKassa (по 54-ФЗ), в настройках модуля надо включить отправку данных для чека. +[Помощь ЮKassa: отправка чеков по 54-ФЗ](https://yookassa.ru/docs/support/payments/tax-sync) ### Установка модуля -Для установки данного модуля необходимо скопировать каталог `payment` из [архива](https://github.com/yoomoney/yandex-money-cms-v2-simpla/archive/master.zip) в корень Вашего сайта с заменой файлов на новые. +Для установки данного модуля необходимо скопировать каталог `payment` из [архива](https://github.com/yoomoney/cms-simpla/archive/master.zip) в корень Вашего сайта с заменой файлов на новые. Пожалуйста, обязательно делайте бекапы! ### Лицензионный договор. -Любое использование Вами программы означает полное и безоговорочное принятие Вами условий лицензионного договора, размещенного по адресу https://money.yandex.ru/doc.xml?id=527132 (далее – «Лицензионный договор»). +Любое использование Вами программы означает полное и безоговорочное принятие Вами условий лицензионного договора, размещенного по адресу https://yoomoney.ru/doc.xml?id=527132 (далее – «Лицензионный договор»). Если Вы не принимаете условия Лицензионного договора в полном объёме, Вы не имеете права использовать программу в каких-либо целях. ### Нашли ошибку или у вас есть предложение по улучшению модуля? -Пишите нам cms@yamoney.ru +Пишите нам cms@yoomoney.ru При обращении необходимо: * Указать наименование CMS и компонента магазина, а также их версии * Указать версию платежного модуля (доступна на странице настроек модуля) diff --git a/payment/YandexFastPay/callback.php b/payment/YandexFastPay/callback.php deleted file mode 100644 index 0e5b7dd..0000000 --- a/payment/YandexFastPay/callback.php +++ /dev/null @@ -1,122 +0,0 @@ -request->post('customerNumber'); -$invoice_id = $simpla->request->post('invoiceId'); - -//////////////////////////////////////////////// -// Выберем заказ из базы -//////////////////////////////////////////////// -$order = $simpla->orders->get_order(intval($order_id)); -if(empty($order)) - print_error('Оплачиваемый заказ не найден'); - -//////////////////////////////////////////////// -// Выбираем из базы соответствующий метод оплаты -//////////////////////////////////////////////// -$method = $simpla->payment->get_payment_method(intval($order->payment_method_id)); -if(empty($method)) - print_error("Неизвестный метод оплаты"); - -$settings = unserialize($method->settings); -$shop_id = $settings['yandex_shopid']; - -// Нельзя оплатить уже оплаченный заказ -if($order->paid) - print_error('Этот заказ уже оплачен'); - -//////////////////////////////////// -// Проверка контрольной подписи -//////////////////////////////////// -$str = $_POST['action'].';'.$_POST['orderSumAmount'].';'. - $_POST['orderSumCurrencyPaycash'].';'.$_POST['orderSumBankPaycash'].';'. - $settings['yandex_shopid'].';'.$invoice_id.';'. - $_POST['customerNumber'].';'.$settings['yandex_password']; - -$md5 = strtoupper(md5($str)); -if($md5 !== $_POST['md5']) - print_error("Контрольная подпись не верна"); - -//////////////////////////////////// -// Проверка суммы платежа -//////////////////////////////////// - -// Сумма заказа у нас в магазине -$order_amount = $simpla->money->convert($order->total_price, $method->currency_id, false); - -// Должна быть равна переданной сумме -if(floatval($order_amount) !== floatval($_POST['orderSumAmount'])) - print_error("Неверная сумма оплаты"); - -//////////////////////////////////// -// Проверка наличия товара -//////////////////////////////////// -$purchases = $simpla->orders->get_purchases(array('order_id'=>intval($order->id))); -foreach($purchases as $purchase) -{ - $variant = $simpla->variants->get_variant(intval($purchase->variant_id)); - if(empty($variant) || (!$variant->infinity && $variant->stock < $purchase->amount)) - { - print_error("Нехватка товара $purchase->product_name $purchase->variant_name"); - } -} - -// Запишем -if($_POST['action'] == 'paymentAviso') -{ - // Установим статус оплачен - $simpla->orders->update_order(intval($order->id), array('paid'=>1)); - - // Спишем товары - $simpla->orders->close(intval($order->id)); - $simpla->notify->email_order_user(intval($order->id)); - $simpla->notify->email_order_admin(intval($order->id)); - - $datetime = new DateTime(); - $performedDatetime = $datetime->format('c'); - print ' - '; - -} -elseif($_POST['action'] == 'checkOrder') -{ - $datetime = new DateTime(); - $performedDatetime = $datetime->format('c'); - print ' - '; -} - -function print_error($text) -{ - $datetime = new DateTime(); - $performedDatetime = $datetime->format('c'); - $shop_id = intval($_POST['shopId']); - $invoice_id = intval($_POST['invoiceId']); - - print ' - <'.$_POST['action'].'Response performedDatetime="'.$performedDatetime.'" - code="200" invoiceId="'.$invoice_id.'" - message="'.$text.'" shopId="'.$shop_id.'"/>'; - - exit(); -} diff --git a/payment/YandexMoneyApi/autoload.php b/payment/YandexMoneyApi/autoload.php deleted file mode 100644 index 04b9507..0000000 --- a/payment/YandexMoneyApi/autoload.php +++ /dev/null @@ -1,27 +0,0 @@ -=5.4", - "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/YandexMoneyApi.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Client/YandexMoneyApi.php deleted file mode 100644 index 22ee0d1..0000000 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Client/YandexMoneyApi.php +++ /dev/null @@ -1,39 +0,0 @@ -_setType(PaymentMethodType::ANDROID_PAY); - } - - /** - * @return string содержимое поля paymentData объекта PKPaymentToken, закодированное в Base64 - */ - public function getPaymentData() - { - return $this->_paymentData; - } - - /** - * @param string $value содержимое поля paymentData объекта PKPaymentToken, закодированное в Base64 - */ - public function setPaymentData($value) - { - if ($value === null || $value === '') { - throw new EmptyPropertyValueException( - 'Empty value for paymentData', 0, 'PaymentDataAndroidPay.paymentData' - ); - } elseif (TypeCast::canCastToString($value)) { - $this->_paymentData = (string)$value; - } else { - throw new InvalidPropertyValueTypeException( - 'Invalid value type for paymentData', 0, 'PaymentDataAndroidPay.paymentData', $value - ); - } - } -} diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/PaymentMethod/PaymentMethodAndroidPay.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/PaymentMethod/PaymentMethodAndroidPay.php deleted file mode 100644 index a5488d1..0000000 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/PaymentMethod/PaymentMethodAndroidPay.php +++ /dev/null @@ -1,42 +0,0 @@ -_setType(PaymentMethodType::ANDROID_PAY); - } -} diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/Status.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/Status.php deleted file mode 100644 index 81452cf..0000000 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Model/Status.php +++ /dev/null @@ -1,48 +0,0 @@ - true, - self::PENDING => true, - self::CANCELED => true, - ); -} diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/PaymentOptionsRequest.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/PaymentOptionsRequest.php deleted file mode 100644 index bf923e9..0000000 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/PaymentOptionsRequest.php +++ /dev/null @@ -1,281 +0,0 @@ -_accountId; - } - - /** - * Проверяет, был ли установлен идентификатор магазина - * @return bool True если идентификатор магазина был установлен, false если нет - */ - public function hasAccountId() - { - return $this->_accountId !== null; - } - - /** - * Устанавливает идентификатор магазина - * @param string|null $value Значение идентификатора магазина, null если требуется удалить значение - */ - public function setAccountId($value) - { - if ($value === null || $value === '') { - $this->_accountId = null; - } elseif (TypeCast::canCastToString($value)) { - $this->_accountId = (string)$value; - } else { - throw new \InvalidArgumentException('Invalid account_id value type "' . gettype($value) . '"'); - } - } - - /** - * Возвращает идентификатор шлюза - * @return string Идентификатор шлюза - */ - public function getGatewayId() - { - return $this->_gatewayId; - } - - /** - * Проверяет, был ли установлен идентификатор шлюза - * @return bool True если идентификатор шлюза был установлен, false если нет - */ - public function hasGatewayId() - { - return !empty($this->_gatewayId); - } - - /** - * Устанавливает идентификатор шлюза - * @param string|null $value Значение идентификатора шлюза, null если требуется удалить значение - */ - public function setGatewayId($value) - { - if ($value === null || $value === '') { - $this->_gatewayId = null; - } elseif (TypeCast::canCastToString($value)) { - $this->_gatewayId = (string)$value; - } else { - throw new \InvalidArgumentException('Invalid gateway_id value type "' . gettype($value) . '"'); - } - } - - /** - * Возвращает сумму заказа - * @return string Сумма заказа - */ - public function getAmount() - { - return $this->_amount; - } - - /** - * Проверяет, была ли установлена сумма заказа - * @return bool True если сумма заказа была установлена, false если нет - */ - public function hasAmount() - { - return !empty($this->_amount); - } - - /** - * Устанавливает сумму платежа - * @param string|null $value Сумма платежа, null если требуется удалить значение - */ - public function setAmount($value) - { - if ($value === null || $value === '') { - $this->_amount = null; - } else { - if (!is_scalar($value)) { - if (!is_object($value) || !method_exists($value, '__toString')) { - throw new InvalidPropertyValueTypeException( - 'Invalid amount value type', 0, 'amount.value', $value - ); - } - $value = (string)$value; - } - if (!is_numeric($value) || $value < 0.0) { - throw new InvalidPropertyValueException( - 'Invalid amount value "' . $value . '"', 0, 'amount.value', $value - ); - } elseif ($value < 0.01) { - $this->_amount = null; - } else { - $this->_amount = number_format($value, 2, '.', ''); - } - } - } - - /** - * Возвращает код валюты, в которой осуществляется покупка - * @return string Код валюты - */ - public function getCurrency() - { - return $this->_currency; - } - - /** - * Проверяет был ли установлен код валюты - * @return bool True если код валюты был установлен, false если нет - */ - public function hasCurrency() - { - return !empty($this->_currency); - } - - /** - * Устанавливает код валюты в которой требуется провести платёж - * @param string $value Код валюты, null если требуется удалить значение - */ - public function setCurrency($value) - { - if ($value === null || $value === '') { - $this->_currency = null; - } elseif (TypeCast::canCastToEnumString($value)) { - $value = strtoupper($value); - if (!CurrencyCode::valueExists($value)) { - throw new \InvalidArgumentException('Invalid currency value: "' . $value . '"'); - } - $this->_currency = $value; - } else { - throw new \InvalidArgumentException('Invalid currency value type: "' . gettype($value) . '"'); - } - } - - /** - * Возвращает сценарий подтверждения платежа, для которого запрашивается список способов оплаты - * @return string Сценарий подтверждения платежа - */ - public function getConfirmationType() - { - return $this->_confirmationTypes; - } - - /** - * Проверяет был ли установлен сценарий подтверждения платежа - * @return bool True если сценарий подтверждения платежа был установлен, false если нет - */ - public function hasConfirmationType() - { - return !empty($this->_confirmationTypes); - } - - /** - * Устанавливает сценарий подтверждения платежа, для которого запрашивается список способов оплаты - * @param string $value Сценарий подтверждения платежа - */ - public function setConfirmationType($value) - { - if ($value === null || $value === '') { - $this->_confirmationTypes = null; - } elseif (TypeCast::canCastToEnumString($value)) { - if (!ConfirmationType::valueExists((string)$value)) { - throw new \InvalidArgumentException('Invalid confirmation_type value: "' . $value . '"'); - } - $this->_confirmationTypes = $value; - } else { - throw new \InvalidArgumentException('Invalid confirmation_type value type: "' . gettype($value) . '"'); - } - } - - /** - * Валидирует текущий запрос, проверяет все ли нужные свойства установлены - * @return bool True если запрос валиден, false если нет - */ - public function validate() - { - if (empty($this->_accountId)) { - $this->setValidationError('Account id not specified'); - return false; - } - return true; - } - - /** - * Возвращает инстанс билдера объектов запросов списока способов оплаты - * @return PaymentOptionsRequestBuilder Билдер запросов списока способов оплаты - */ - public static function builder() - { - return new PaymentOptionsRequestBuilder(); - } -} diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/PaymentOptionsRequestBuilder.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/PaymentOptionsRequestBuilder.php deleted file mode 100644 index 384a797..0000000 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/PaymentOptionsRequestBuilder.php +++ /dev/null @@ -1,126 +0,0 @@ -currentObject->setAccountId($value); - return $this; - } - - /** - * Устанавливает идентификатор шлюза - * @param string|null $value Значение идентификатора шлюза, null если требуется удалить значение - * @return PaymentOptionsRequestBuilder Инстанс текущего билдера запросов - */ - public function setGatewayId($value) - { - $this->currentObject->setGatewayId($value); - return $this; - } - - /** - * Устанавливает сумму платежа - * @param string|AmountInterface|null $value Сумма платежа, null если требуется удалить значение - * @return PaymentOptionsRequestBuilder Инстанс текущего билдера запросов - */ - public function setAmount($value) - { - if (empty($value)) { - $this->currentObject->setAmount(null); - } elseif ($value instanceof AmountInterface) { - if ($value->getValue() > 0.0) { - $this->currentObject->setAmount($value->getValue()); - } - $this->currentObject->setCurrency($value->getCurrency()); - } else { - $this->currentObject->setAmount($value); - } - return $this; - } - - /** - * Устанавливает код валюты в которой требуется провести платёж - * @param string $value Код валюты, null если требуется удалить значение - * @return PaymentOptionsRequestBuilder Инстанс текущего билдера запросов - */ - public function setCurrency($value) - { - $this->currentObject->setCurrency($value); - return $this; - } - - /** - * Устанавливает сценарий подтверждения платежа, для которого запрашивается список способов оплаты - * @param string $value Сценарий подтверждения платежа - * @return PaymentOptionsRequestBuilder Инстанс текущего билдера запросов - */ - public function setConfirmationType($value) - { - $this->currentObject->setConfirmationType($value); - return $this; - } - - /** - * Собирает и возвращает готовый объект запроса получения списка возможных способов оплаты - * @param array|null $options Массив для устанавливаемых значений - * @return PaymentOptionsRequestInterface Инстанс объекта запроса - */ - public function build(array $options = null) - { - return parent::build($options); - } -} diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/PaymentOptionsRequestInterface.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/PaymentOptionsRequestInterface.php deleted file mode 100644 index 60895c5..0000000 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/PaymentOptionsRequestInterface.php +++ /dev/null @@ -1,101 +0,0 @@ - $request->getAccountId(), - ); - if ($request->hasGatewayId()) { - $result['gateway_id'] = $request->getGatewayId(); - } - if ($request->hasAmount()) { - $result['amount'] = $request->getAmount(); - } - if ($request->hasCurrency()) { - $result['currency'] = $request->getCurrency(); - } - if ($request->hasConfirmationType()) { - $result['confirmation_types'] = $request->getConfirmationType(); - } - return $result; - } -} \ No newline at end of file diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/PaymentOptionsResponse.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/PaymentOptionsResponse.php deleted file mode 100644 index 1a6ae98..0000000 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/PaymentOptionsResponse.php +++ /dev/null @@ -1,68 +0,0 @@ -_items = array(); - foreach ($response['items'] as $item) { - $this->_items[] = new PaymentOptionsResponseItem($item); - } - } - - /** - * Возаращает список способов оплаты подходящих для оплаты заказа - * Если нет ни одного доступного способа оплаты, список будет пустым - * @return PaymentOptionsResponseItem[] Список способов оплаты - */ - public function getItems() - { - return $this->_items; - } -} diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/PaymentOptionsResponseItem.php b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/PaymentOptionsResponseItem.php deleted file mode 100644 index 9c82970..0000000 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/Request/PaymentOptionsResponseItem.php +++ /dev/null @@ -1,142 +0,0 @@ -_paymentMethodType = $options['payment_method_type']; - $this->_confirmationTypes = array(); - foreach ($options['confirmation_types'] as $opt) { - $this->_confirmationTypes[] = $opt; - } - - $this->_charge = new MonetaryAmount($options['charge']['value'], $options['charge']['currency']); - $this->_fee = new MonetaryAmount(); - if (!empty($options['fee'])) { - $this->_fee->setValue($options['fee']['value']); - $this->_fee->setCurrency($options['fee']['currency']); - } else { - $this->_fee->setCurrency($options['charge']['currency']); - } - - $this->_extraFee = false; - if (!empty($options['extra_fee'])) { - $this->_extraFee = (bool)$options['extra_fee']; - } - } - - /** - * Возвращает тип источника средств для проведения платежа - * @return string Тип источника средств для проведения платежа - * @see PaymentMethodType - */ - public function getPaymentMethodType() - { - return $this->_paymentMethodType; - } - - /** - * Возвращает список возможных сценариев подтверждения платежа - * @return string[] Список возможных сценариев подтверждения платежа - * @see ConfirmationType - */ - public function getConfirmationTypes() - { - return $this->_confirmationTypes; - } - - /** - * Возвращает сумму платежа - * @return AmountInterface Сумма платежа - */ - public function getCharge() - { - return $this->_charge; - } - - /** - * Возвращает сумму дополнительной комиссии при проведении платежа с помощью текущего способа оплаты - * @return AmountInterface Сумма комиссии - */ - public function getFee() - { - return $this->_fee; - } - - /** - * Возвращает признак присутствия дополнительной комиссии на стороне партнера - * @return bool True если комиссия на стороне партнёра имеется, false если нет - */ - public function getExtraFee() - { - return $this->_extraFee; - } -} diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/configuration.json b/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/configuration.json deleted file mode 100644 index 76a5a21..0000000 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/lib/configuration.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "url" : "https://payment.yandex.net/api/v3" -} \ No newline at end of file diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/vendor/composer/installed.json b/payment/YandexMoneyApi/yandex-checkout-sdk-php/vendor/composer/installed.json deleted file mode 100644 index 2d7a51c..0000000 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/vendor/composer/installed.json +++ /dev/null @@ -1,51 +0,0 @@ -[ - { - "name": "psr/log", - "version": "1.0.2", - "version_normalized": "1.0.2.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2016-10-10T12:19:37+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ] - } -] diff --git a/payment/YandexMoneyApi/yandex-checkout-sdk-php/vendor/psr/log/.gitignore b/payment/YandexMoneyApi/yandex-checkout-sdk-php/vendor/psr/log/.gitignore deleted file mode 100644 index 22d0d82..0000000 --- a/payment/YandexMoneyApi/yandex-checkout-sdk-php/vendor/psr/log/.gitignore +++ /dev/null @@ -1 +0,0 @@ -vendor diff --git a/payment/YandexMoneyApi/YandexMoneyApi.php b/payment/YooMoneyApi/YooMoneyApi.php similarity index 62% rename from payment/YandexMoneyApi/YandexMoneyApi.php rename to payment/YooMoneyApi/YooMoneyApi.php index c06b9d1..ed4b6a3 100644 --- a/payment/YandexMoneyApi/YandexMoneyApi.php +++ b/payment/YooMoneyApi/YooMoneyApi.php @@ -1,19 +1,19 @@ payment->get_payment_method($order->payment_method_id); $settings = $this->payment->get_payment_settings($payment_method->id); $amount = round($this->money->convert($order->total_price, $payment_method->currency_id, false), 2); - $result_url = $this->config->root_url.'/payment/YandexMoneyApi/callback.php?order='.$order->id.'&action=return'; - $payment_sitemode = ($settings['yandex_api_paymode'] == 'site') ? true : false; - $payment_type = ($payment_sitemode) ? $settings['yandex_api_paymenttype'] : ''; + $result_url = $this->config->root_url.'/payment/YooMoneyApi/callback.php?order='.$order->id.'&action=return'; + $payment_sitemode = ($settings['yoomoney_paymode'] == 'site') ? true : false; + $payment_type = ($payment_sitemode) ? $settings['yoomoney_paymenttype'] : ''; - if (($payment_type == \YandexCheckout\Model\PaymentMethodType::INSTALLMENTS) + if (($payment_type == \YooKassa\Model\PaymentMethodType::INSTALLMENTS) && ($amount < self::INSTALLMENTS_MIN_AMOUNT) ) { return 'Заплатить этим способом не получится: сумма должна быть больше ' .self::INSTALLMENTS_MIN_AMOUNT.' рублей.'; } - if ($payment_type == \YandexCheckout\Model\PaymentMethodType::ALFABANK) { + if ($payment_type == \YooKassa\Model\PaymentMethodType::ALFABANK) { if (isset($_POST['alfabak_login']) && !empty($_POST['alfabak_login'])) { - $payment_type = new \YandexCheckout\Model\PaymentData\PaymentDataAlfabank(); + $payment_type = new \YooKassa\Model\PaymentData\PaymentDataAlfabank(); try { $payment_type->setLogin($_POST['alfabak_login']); } catch (Exception $e) { @@ -69,10 +59,10 @@ public function checkout_form($order_id, $button_text = null) } } - if ($payment_type == \YandexCheckout\Model\PaymentMethodType::QIWI) { + if ($payment_type == \YooKassa\Model\PaymentMethodType::QIWI) { if (isset($_POST['qiwi_phone']) && !empty($_POST['qiwi_phone'])) { - $payment_type = new \YandexCheckout\Model\PaymentData\PaymentDataQiwi(); + $payment_type = new \YooKassa\Model\PaymentData\PaymentDataQiwi(); $phone = preg_replace('/[^\d]/', '', $_POST['qiwi_phone']); try { $payment_type->setPhone($phone); @@ -88,32 +78,32 @@ public function checkout_form($order_id, $button_text = null) if (!empty($_POST['payment_type'])) { $payment_type = $_POST['payment_type']; } - $apiClient = $this->getApiClient($settings['yandex_api_shopid'], $settings['yandex_api_password'], $settings['ya_kassa_debug']); + $apiClient = $this->getApiClient($settings['yoomoney_shopid'], $settings['yoomoney_password'], $settings['yookassa_debug']); $builder = CreatePaymentRequest::builder() - ->setAmount($amount) - ->setPaymentMethodData($payment_type) - ->setCapture(true) - ->setDescription($this->createDescription($order, $settings)) - ->setConfirmation( - array( - 'type' => \YandexCheckout\Model\ConfirmationType::REDIRECT, - 'returnUrl' => $result_url, - ) - ) - ->setMetadata(array( - 'cms_name' => 'ya_api_simpla', - 'module_version' => YAMONEY_MODULE_VERSION, - 'order_id' => $order_id, - )); - - if (isset($settings['ya_kassa_api_send_check']) && $settings['ya_kassa_api_send_check']) { + ->setAmount($amount) + ->setPaymentMethodData($payment_type) + ->setCapture(true) + ->setDescription($this->createDescription($order, $settings)) + ->setConfirmation( + array( + 'type' => \YooKassa\Model\ConfirmationType::REDIRECT, + 'returnUrl' => $result_url, + ) + ) + ->setMetadata(array( + 'cms_name' => 'yoo_simpla', + 'module_version' => YOOMONEY_MODULE_VERSION, + 'order_id' => $order_id, + )); + + if (isset($settings['yookassa_api_send_check']) && $settings['yookassa_api_send_check']) { $purchases = $this->orders->get_purchases(array('order_id' => intval($order->id))); $builder->setReceiptEmail($order->email); - $id_tax = (isset($settings['ya_kassa_api_tax']) && $settings['ya_kassa_api_tax'] ? $settings['ya_kassa_api_tax'] : self::DEFAULT_TAX_RATE_ID); + $id_tax = (isset($settings['yookassa_api_tax']) && $settings['yookassa_api_tax'] ? $settings['yookassa_api_tax'] : self::DEFAULT_TAX_RATE_ID); foreach ($purchases as $purchase) { $properties = $this->features->get_product_options($purchase->product_id); $paymentMode = $this->getPaymentMode($properties, $settings); @@ -124,7 +114,7 @@ public function checkout_form($order_id, $button_text = null) if ($order->delivery_id && $order->delivery_price > 0) { $delivery = $this->delivery->get_delivery($order->delivery_id); $builder->addReceiptShipping($delivery->name, $order->delivery_price, $id_tax, - $settings['ya_kassa_api_payment_mode'], $settings['ya_kassa_api_payment_subject']); + $settings['yookassa_api_payment_mode'], $settings['yookassa_api_payment_subject']); } } @@ -133,7 +123,7 @@ public function checkout_form($order_id, $button_text = null) try { $response = $apiClient->createPayment($paymentRequest, $idempotencyKey); } catch (Exception $exception) { - $logger = new YandexMoneyLogger($settings['ya_kassa_debug']); + $logger = new YooMoneyLogger($settings['yookassa_debug']); $logger->error($exception->getMessage()); } @@ -168,7 +158,7 @@ protected function getQiwiForm($button_text, $error = false)
- + '; return $button; @@ -192,8 +182,8 @@ protected function getAlfaForm($button_text, $error = false)
- - '; + + '; return $button; } @@ -210,16 +200,16 @@ private function getForm($button_text, $settings, $amount) ob_start(); ?>
- + -
- -
- -
- -
- +
+
- + class="checkout_button yookassa_button"> @@ -312,23 +287,23 @@ class="checkout_button ya_checkout_button">