Платежная форма T-Bank (без интернет-магазина)

Обновлено 29.10.2024

Размещение в публичной части

После установки модуля, компонент «Платежная форма Tinkoff Bank (без интрнет-магазина)» (rover:tinkoff.payform) будет доступен в визуальном редакторе по адресу «Компоненты Rover» > «Интернет-эквайринг Т-Банк приём платежей».

Компонент может выводить:

  • кнопку "Оплатить", по нажатию на которую происходит переход на платежный шлюз Т-Банка;
  • кнопку "Оплатить", с открытием платежного виджета прямо на сайте;
  • QR-код для оплаты в системе быстрых платежей.
Компонент необходимо устанавливать туда, где по логике вещей сайта располагаться переход к оплате.

Настройки компонента

Обязательные

  • TERMINAL_ID — идентификатор платежного терминала Tinkoff Bank
  • SHOP_SECRET_WORD — пароль платежного терминала Tinkoff Bank
  • SUM — сумма заказа в рублях
  • ORDER_ID — идентификатор заказа

Дополнительные

  • ITEM_ID — идентификатор платежа. Помогает различать платежи внутри одного заказа в банке. Если не задан, то вместо него берется текущая временная метка.
  • PS_MODE — способ приёма оплаты: платежный шлюз банка ('DEFAULT'), платежный виджет на странице ('WIDGET'), QR-код ('SKB'). По умолчанию 'DEFAULT'.
  • PAYMENT_DESCRIPTION — описание платежа для банка
  • REDIRECT_LIFETIME — время жизни ссылки оплаты в часах, по умолчанию 24
  • SUM_FORMATTED — форматированная сумма с обозначением валюты. Если передана, будет выведена в форме оплаты, если не передана, будет применено стандартное форматирование для поля SUM
  • SUM_IN_CURRENCY_FORMATTED — форматированная сумма в валюте, отличной от рубля. Если передана, будет выведена в форме оплаты вместе с суммой в рублях. Оплата в любом случае будет в рублях, из поля SUM.
  • NOTIFICATION_URL — адрес для нотификаций
  • SUCCESS_URL — перенаправление после успешного платежа
  • FAIL_URL — перенаправление после неуспешного платежа
  • FORM_DESCRIPTION — описание в форме оплаты
  • SUM_DESCRIPTION — описание перед суммой оплаты
  • BUTTON_TEXT — текст на кнопке оплаты
  • BUTTON_CLASSES — классы кнопки оплаты
  • BOTTOM_DESCRIPTION — описание под кнопкой оплаты
  • QR_BOTTOM_DESCRIPTION — дополнительное описание под кнопкой оплаты для оплаты по QR-коду
  • ERROR_NOTE — переопределение дефолтного сообщения о недоступности сервиса оплаты
  • MESSAGE — дополнительное сообщение об ошибке
  • REDIRECT — автоматическое перенаправление на платежный шлюз/открытие виджета
  • REDIRECT_DELAY — задержка перед перенаправлением в миллисекундах
  • LANGUAGE — язык платёжной формы. По умолчанию 'ru'
Итоговый идентификатор платежа в Т-Банке формируется как "#идентификатор заказа#_#идентификатор платежа#". Он быть уникальным для каждой оплаты! Создать вторую оплату с тем же идентификатором банк не даст, будет выведена ошибка.

Обработка нотификаций

В связи с тем, что использование данного компонента предполагает отсутствие модуля «Интернет-магазин», то штатный механизм обработки нотификаций тут не предусмотрен. Для удобства добавлено специальное событие onNotification, которое срабатывает при получении нотификации в файл https://#ваш домен#/bitrix/components/rover/tinkoff.payform/result.php. Для использования данного механизма необходимо:

  1. В качестве ссылки для уведомлений в настройках компонента/терминала установить https://#ваш домен#/bitrix/components/rover/tinkoff.payform/result.php (для оплаты по QR-коду — только в настройках терминала)
  2. Добавить в файл init.php обработчик события onNotification. В этом обработчике в параметре request будет приходить вся информация из отправленных банком оповещений. Пример обработчика