Плагин интеграции подключает интернет-эквайринг Т-Банка к магазину на Medusa. Онлайн-чеки по 54-ФЗ, одно- и двухстадийная оплата, возвраты, отмены и все настройки подключения в Admin.

Плагин для интернет-эквайринга Т-Кассы от Т-Банка мы опубликовали ещё летом 2025 года, и с тех пор его установили в продакшене многие магазины на Medusa, среди них Solidno, Ktsport и White Dog. Покупатель платит на защищённой странице банка, чек по 54-ФЗ уходит вместе с платежом, а доступы, чеки и возвраты администратор магазина ведёт прямо в Medusa Admin.
Как это работает, смотрите в демо:
Магазин из демо-видео построен на готовом к продакшену Medusa DTC Starter от Gorgo. Бэкенд Medusa и витрина на Next.js в нём отлажены и доведены до состояния готового к запуску. Вам остаётся только задать общие настройки магазина и заполнить каталог товаров. В этом примере Т-Касса уже подключена, а его код находится в репозитории на GitHub. Запустите его локально и пройдите тот же путь на тестовом терминале.
Т-Касса принимает онлайн-платежи для интернет-магазинов в России. Это сервис интернет-эквайринга от Т-Банка (ранее Тинькофф Банк), одного из крупнейших цифровых банков страны. Покупатели платят картами, через СБП, T-Pay, SberPay, Alfa Pay, Mir Pay и другими способами. Оплата проходит в рублях, а из-за границы принимаются только карты «Мир». Подробнее о сервисе рассказано на сайте Т-Банка.
На странице оформления заказа Т-Касса стоит отдельной плиткой рядом с другими способами оплаты.
Кнопка «Оплатить» ведёт на платёжную страницу Т-Банка. Данные карты покупатель вводит там, и в магазин они не попадают. Набор способов оплаты на этой странице определяют настройки терминала в личном кабинете Т-Бизнеса.
После оплаты покупатель возвращается на страницу заказа, а статус платежа приходит в Medusa по вебхуку.
Оплаченный заказ выглядит в Admin как обычный платёж Medusa. Если нужен возврат, его можно запустить из меню.
Т-Касса настраивается через Модуль интеграций на странице Настройки → Интеграции → Т-Касса. Значения хранятся в базе данных, пароль шифруется, а сохранённые изменения плагин применяет со следующей операции, без перезапуска и повторного развёртывания магазина.
Модуль интеграций хранит настройки плагинов в базе данных, поэтому их можно менять в Medusa Admin без повторного развёртывания магазина. Он строит страницу настроек по описанию параметров, которое даёт любой плагин или модуль, шифрует секреты, следит, чтобы обязательные поля были заполнены, и проверяет соединение с внешним сервисом. Через него уже настраиваются Т-Касса, ЮKassa, Robokassa, ApiShip, 1С и другие плагины от сообщества разработчиков на Medusa.
Поля чека появляются, только когда отправка чеков включена.
Понадобятся Medusa 2.17.2 или новее, Node.js 20 или новее и терминал интернет-эквайринга в Т-Бизнесе.
Константа связывает две записи. По ней платёжный провайдер находит свой инстанс интеграции и получает его параметры.
Ключ, которым Модуль интеграций шифрует пароль терминала, добавьте в бэкенда Medusa:
INTEGRATION_ENCRYPTION_KEY=supersecretЗадайте ключ один раз и не меняйте его, иначе модуль не сможет расшифровать сохранённые секреты.
В личном кабинете Т-Бизнеса откройте настройки терминала, выберите отправку уведомлений по протоколу HTTP и укажите адрес вебхука:
https://<домен-medusa>/hooks/payment/tkassa_tkassaУстановка и настройка подробно описаны в документации. Если витрина собрана на DTC-стартере, файлы, которые нужно в неё добавить, перечислены в руководстве по интеграции с витриной.
Интеграция с Т-Касса - это один из плагинов, которые мы выпускаем для Medusa. В нашем каталоге уже есть платежи через ЮKassa и Robokassa, доставка через ApiShip и обмен данными с 1С. Дальше выйдут новые платёжные, логистические, ERP, CRM и другие интеграции. Все они будут соблюдать наши стандарты качества и ежедневно проходить тестирование на совместимость с последними версиями Medusa и API сервисов. Как устроены эти тесты, мы рассказали в этой статье.
Новости о релизах публикуем в Telegram-канале Medusa.js Новости.
Задавайте вопросы и обсуждайте Medusa в Telegram-сообществе, пишите о проблемах с плагином в чат поддержки Gorgo или открывайте Issues и Pull Requests на GitHub.
npm install @gorgo/medusa-integration @gorgo/medusa-payment-tkassa1const TKASSA_INTEGRATION_ID = "tkassa-1"2
3module.exports = defineConfig({4 plugins: [5 {6 resolve: "@gorgo/medusa-integration",7 options: {8 encryptionKey: process.env.INTEGRATION_ENCRYPTION_KEY,9 providers: [10 {11 resolve: "@gorgo/medusa-payment-tkassa/providers/integration-tkassa",12 id: TKASSA_INTEGRATION_ID,13 options: {},14 },15 ],16 },17 },18 {19 resolve: "@gorgo/medusa-payment-tkassa",20 options: {},21 },22 // ...23 ],24 modules: [25 {26 resolve: "@medusajs/medusa/payment",27 options: {28 providers: [29 {30 resolve: "@gorgo/medusa-payment-tkassa/providers/payment-tkassa",31 id: "tkassa",32 options: {33 id: TKASSA_INTEGRATION_ID,34 },35 },36 ],37 },38 },39 // ...40 ],41})