mspPSB

Оплата заказов miniShop2 через Промсвязьбанк
Автор дополнения
Алексей Шумаев
Пакетов
12
Закачек
1 184
Обычно отвечает в течение суток
Автор дополнения
Пакетов
12
Закачек
1 184
Обычно отвечает в течение суток
Версия 1.0.8-pl
Дата выпуска 21.02.2023
Загрузки 24
Просмотры 2 751
Внимание, этот компонент требует версию PHP 5.6 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.5 !
Для подключения оплаты необходимо получить от банка следующие параметры:
  • секретный ключ из двух частей
  • номер торговой точки (MERCHANT)
  • название торговой точки (MERCHANT_NAME)
  • номер виртуального терминала (TERMINAL)
Далее сохранить их в системных настройках.

Процесс оплаты для покупателя ничем не отличается от стандартного.
Есть отличие в реализации процесса — для повышения надёжности оплата проводится в две стадии, через предавторизацию:
  1. Получение платёжной ссылки.
    Стандартное получение ссылки для переадресации покупателя на шлюз банка.
  2. Проведение предавторизации.
    Деньги клиента резервируются банком, но операция оплаты пока не проводится.
  3. Проверка заказа.
    Заказ проверяется на соответствие разрешённому статусу, сумме. Это позволяет не дать ошибочно оплатить заказ (например, по ссылке из письма), если заказ, например, отменён.
  4. Проведение оплаты.
    Деньги списываются с карты покупателя, заказ получает статус «Оплачен».
  5. Отправка чека ОФД.
    На 28.06.19 банк взаимодействует только с «ЧекОнлайн», у разработчика нет возможности протестировать этот сервис. Для настройки отправки чеку через этот сервис пишите в поддержку, реализация и тестирование — бесплатно.

Сайт должен работать по протоколу HTTPS (должен быть установлен SSL-сертификат).
При подключении писать в поддержку банка:
«Адрес для уведомлений: site.ru/assets/components/msppsb/notification.php;
включить уведомления для TRTYPE = 12»


Системные настройки:

ID страницы возврата
ID страницы сайта, на которую переадресовывается покупатель после проведения операции.
Отправить уведомление об операции покупателю
Если «Да», то после успешного проведения операции, на Email покупателя отправиться уведомление о проведении операции.
Отмена заказа
Если «Да», то при отказе от оплаты заказ будет отменён.
Статусы заказа, при которых оплата невозможна
Укажите id статусов через «,». При попытке оплаты такого заказа на платёжном шлюзе пользователь получит отказ в операции.
Вести лог
Если «Да», то будет писаться лог операции и в окно редактирования заказа MS2 будет добавлена вкладка этой информацией.



Тестовый режим
«Да / нет».
URL тестовой среды
URL производственной среды
TERMINAL
Уникальный номер виртуального терминала торговой точки.
MERCHANT
Название торговой точки.
MERCHANT_NAME
Название торговой точки.
KEY 1
Первый компонент секретного ключа.
KEY 2
Второй компонент секретного ключа.
Валюта магазина
Пока только RUB


Быстрая проверка работы модуля оплаты (используйте компонент Console для удобства):
require_once MODX_CORE_PATH.'components/msppsb/model/msppsb/msppsbhandler.class.php';
$order_id = 1; # id заказа
if($order = $modx->getObject('msOrder', $order_id)) {
    $handler = new mspPSBPaymentHandler($order);
    echo $handler->getPaymentLink($order); # ссылка на оплату или ошибка в логе в случае неудачи
}

1.0.8-pl

К URL возврата добавлен параметр msorder

1.0.7-pl

Обновлена функция генерации подписи

1.0.6-pl

Отправка чека в ОФД (chekonline.ru)

1.0.5-beta

Исправлены мелки ошибки

1.0.4-beta

Первый релиз

Последние обсуждения в сообществе MODX.pro