/CMS-ModX-R-MS2-CP

CloudPayments module for ModX-revo MiniShop2

Primary LanguagePHPOtherNOASSERTION

CloudPayments модуль для ModX Revolution - MiniShop2

Модуль позволит с легкостью добавить на ваш сайт оплату банковскими картами через платежный сервис CloudPayments. Для корректной работы модуля необходима регистрация в сервисе.

Порядок регистрации описан в документации CloudPayments

Возможности:

• Одностадийная схема оплаты (SMS);
• Двухстадийная схема оплаты (DMS);
• Выбор дизайна виджета;
• Выбор локализации платежного виджета;
• Поддержка онлайн-касс (ФЗ-54);
• Отправка чеков по email;
• Отправка чеков по SMS;
• Теги способа и предмета расчета;
• Выбор системы налогообложения;
• Выбор НДС для товаров и НДС для доставки отдельно.

Совместимость

  • ModX Revolution v.2.5.8 и выше;
  • MiniShop2 v.2.4.12 и выше;

Техническая настройка

В личном кабинете CloudPayments в настройках сайта необходимо включить следующие уведомления:

Сheckhttps://domain.ru/assets/components/minishop2/payment/cloudpayments.php?ms2_action=check

Payhttps://domain.ru/assets/components/minishop2/payment/cloudpayments.php?ms2_action=pay

Failhttps://domain.ru/assets/components/minishop2/payment/cloudpayments.php?ms2_action=fail

Confirmhttps://domain.ru/assets/components/minishop2/payment/cloudpayments.php?ms2_action=confirm

Cancelhttps://domain.ru/assets/components/minishop2/payment/cloudpayments.php?ms2_action=cancel

Refundhttps://domain.ru/assets/components/minishop2/payment/cloudpayments.php?ms2_action=refund

Где domain.ru доменное имя вашего сайта. Во всех случаях требуется выбирать вариант по умолчанию: кодировка — UTF-8, HTTP-метод — POST, формат — CloudPayments

В настройках MODX (Системные настройки - пространство имен miniShop2 - раздел "Оплата CloudPayments") необходимо указать следующий настройки:

Идентификатор сайта — Public id сайта из личного кабинета CloudPayments

Секретный ключ — API Secret из личного кабинета CloudPayments

Страница успешной оплаты — id страницы, на которую будет перенаправлен пользователь после оплаты

Страница при отказе от оплаты — id страницы, на которую будет перенаправлен пользователь в случае отмены или ошибки при оплате

Страница оплаты — id страницы оплаты. Необязательный параметр.*

Язык интерфейса виджета — Язык интерфейса виджета (ru-RU, en-US итд.) Все возможные значения указаны в документации;

Валюта — Валюта в которой производиться оплата (RUB/USD/EUR/GBR итд.) Все возможные значения указаны в документации;

Дизайн виджета — Возможные варианты: "classic", "modern", "mini". По умолчанию - "classic".

Для вывода виджета оплаты требуется на странице с корзиной вызвать сниппет [[!mspCloudPaymentsWidget]].

После настройки модуля необходимо включить его в настройках оплаты miniShop2 и выбрать доступные методы доставки

Двухстадийная оплата

В этом режиме оплата происходит в два этапа: авторизация платежа (блокировка суммы на карте покупателя) и подтверждение списания. Для работы модуля в этом режиме могут потребоваться дополнительные статусы заказа:

Авторизован — На данный статус заказ переводится при получении уведомления об авторизации оплаты.

Подтвержден — На данный статус нужно перевести заказ для отправки запроса на подтверждение оплаты. Необходим если требуется подтверждать заказ до отправки. По умолчанию оплата подтверждается при смене статуса на "Доставлен"

Данные статусы будет предложено создать автоматически при установке модуля. Также данные статусы можно создать вручную в настройках miniShop2 и указать их идентификаторы в настройках модуля.

Для включения двухстадийной оплаты необходимо дополнительно указать следующий настройки в MODX:

Двухстадийная оплата — Да;

Статус заказа при авторизации оплаты — id статуса, в который нужно перевести заказ при получении уведомления об авторизации платежа;

Статус заказа для подтверждения оплаты — id статуса при переводе в который отправляется запрос на подтверждение оплаты. Можно указать несколько id через запятую.

Интеграция с онлайн-кассой

Модуль позволяет интегрировать онлайн-кассу при оплате и отменах платежей. Для этого подключить кассу в личном кабинете CloudPayments и указать дополнительные настройки модуля:

Формировать онлайн-чек — Да;

ИНН — ИНН вашей организации или ИП, на который зарегистрирована касса;

Ставка НДС — Указание ставки НДС или пустое значение, если НДС не облагается. Например 20, для НДС 20%. Все возможные значения указаны в документации;

Ставка НДС для доставки — Указание отдельной ставки НДС для доставки. Если доставка платная, то она в чеке оформляется отдельной строкой со своей ставкой НДС. Значения аналогично ставке НДС для товаров;

Система налогообложения — Тип системы налогообложения. Возможные значения перечислены в документации CloudPayments;

Способ расчета — Признак способа расчета для товаров. Возможные значения перечислены в документации CloudPayments;

Предмет расчета — Признак предмета расчета для товаров. Возможные значения перечислены в документации CloudPayments;

Статус доставки — id статуса при переводе в который отправляется второй чек. Отдельный статус доставки необходим при формировании двух чеков: один чек - при поступлении денег от покупателя, второй при отгрузке товара. Отправка второго чека возможна при следующих способах расчета: Предоплата, Предоплата 100%, Аванс.

Опционально

*Если не указан Id страницы оплаты, то необходимо добавить сниппет [[!mspCloudPaymentsWidget]] на страницу с корзиной (там где у вас уже используется сниппет [[!msOrder]]) Либо можно использовать отдельную страницу для отображения содержимого заказа. В таком случае укажите её ID, а на самой странице разместите [[!msGetOrder]] и [[!mspCloudPaymentsWidget]]

Пример минимальной страницы оплаты с параметрами по умолчанию: [[!msGetOrder]] [[!mspCloudPaymentsWidget]]

** Сниппет mspCloudPaymentsWidget имеет следующие параметры: tpl — чанк шаблона виджета оплаты. По умолчанию tpl.mspCloudPaymentsWidget; id — id заказа для оплаты. По умолчанию номер заказа берется из GET параметра msorder; allowStatusIds — id статусов заказа, при которых разрешено оплачивать заказ. По умолчанию 1 («новый»); toPlaceholder — имя плейсходера. При указании вывод будет помещен в указанный плейсхолдер. Сниппет выводит виджет оплаты только если в параметре URL есть msorder с верным id заказа, а также статус заказа «Новый».

Ручная Установка Модуля

  1. Загрузить в любую подпапку modx (например mspCloudPayments)
  2. Скопировать build.config.example.php в build.config.php
  3. Поправить путь MODX_BASE_PATH в build.config.php (должен быть на корень установки modx)
  4. Запустить http://domain.ru/mspCloudPayments/_build/build.transport.php
  5. Пакет должен появится в списке пакетов в разделе "Управление пакетами"

Changelog

= 1.3 =

  • Добавлен обработчик контекста заказа;

= 1.2 =

  • Добавлены теги способов и предметов расчета;
  • Правка значений ставок НДС;

= 1.1 =

  • Добавление выбора дизайна виджета;
  • Правка значений ставок НДС;

= 1.0 =

  • Публикация модуля.