WordPress · 6 мин чтения

Интернет-магазин на WooCommerce с оплатой Т‑Банк: настройка

Беру заявки на интернет-магазин на WooCommerce с оплатой Т‑Банк примерно раз в квартал - после ухода зарубежных платёжных систем из России Т‑Банк (бывший Тинькофф) стал одним из самых удобных вариантов эквайринга для магазинов на WordPress: есть официальный плагин, понятная документация по API и деньги приходят на счёт на следующий рабочий день. Ниже - что делаю по шагам сам, куда смотрю, если оплата не доходит до сайта, и сколько это стоит, если настройку отдать разработчику.

Что нужно, чтобы принять оплату Т‑Банк на сайте WooCommerce

Перед тем как лезть в личный кабинет эквайринга, проверяю пять вещей - обычно именно из-за них потом теряется полдня на диагностику.

  • WordPress и WooCommerce актуальных версий - плагин Т‑Банк требует WooCommerce не ниже 6.0 и PHP от 7.4.
  • SSL-сертификат на домене - без https Т‑Банк не примет адрес для уведомлений об оплате, это жёсткое требование.
  • Открытый счёт ИП или ООО и терминал в Т‑Банк Эквайринге - оформляется отдельно от расчётного счёта, даже если он у вас уже в Т‑Банке.
  • Официальный плагин «Т‑Банк Эквайринг для WooCommerce» - ставить сторонние аналоги я не рекомендую, они часто отстают от изменений в API.
  • Доступ к хостингу и логам сервера - без них не отладить вебхуки, если оплата проходит, а заказ в WooCommerce не меняет статус.

Подключение эквайринга Т‑Банк для интернет-магазина

Заявку на подключение эквайринга подаю через личный кабинет Т‑Банк Бизнес или через менеджера, если у клиента уже открыт расчётный счёт в банке - тогда часть проверки проходит быстрее. Банк запрашивает реквизиты компании, ссылку на сайт (магазин должен уже показывать каталог и цены, пустой сайт-заглушку не пропускают) и описание товарной категории - для некоторых ниш (БАДы, инфопродукты, алкоголь) действует повышенное внимание комплаенса.

После одобрения в кабинете появляется тестовый терминал с парой TerminalKey и паролем - с ним гоняю всю настройку и тестовые платежи. Боевой терминал банк выдаёт после проверки сайта на соответствие 161-ФЗ: должны быть публичная оферта, политика возврата и реальные контакты продавца на страницах сайта. Если документы и сайт в порядке, подключение занимает 1-3 рабочих дня, при первой проверке компании - иногда до недели.

Установка и настройка плагина оплаты Т‑Банк в WooCommerce

Плагин скачивается из личного кабинета эквайринга или с GitHub Т‑Банка в виде zip-архива, дальше стандартно: Плагины → Добавить новый → Загрузить плагин → Активировать. После активации способ оплаты появляется в WooCommerce → Настройки → Платежи, где включаю его и заполняю поля:

  • TerminalKey и SecretKey - из личного кабинета эквайринга, для теста и боевого режима они разные, это частая причина ошибки «terminal not found».
  • Режим работы - тестовый или боевой, переключаю только после того, как прогнал 3-5 тестовых оплат разными картами.
  • Тип оплаты - одностадийная (списание сразу) или двухстадийная (сначала холдирование, потом подтверждение вручную) - для обычного розничного магазина беру одностадийную, двухстадийную ставлю, если у клиента бывает ручная проверка заказа перед отгрузкой.
  • Notification URL - адрес, куда Т‑Банк присылает вебхук об изменении статуса платежа, плагин генерирует его автоматически, но я всегда проверяю, что он реально открывается снаружи, а не режется файрволом хостинга.

Если нужно логировать входящие вебхуки отдельно от плагина - например, для сверки с 1С или CRM - добавляю простой хук в mu-plugin:

add_action('woocommerce_api_wc_gateway_tinkoff', function () {
    $payload = file_get_contents('php://input');
    error_log('T-Bank webhook: ' . $payload);
}, 1);

Ставлю приоритет 1, чтобы хук отработал раньше обработчика плагина - так видно в логах сервера, что вообще приходит от банка, даже если сам платёж почему-то не обновляет заказ.

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

Доставка через СДЭК и статусы заказов при оплате Т‑Банк

Отдельная головная боль - синхронизация оплаты со статусами доставки. Если на сайте подключён калькулятор СДЭК (виджет или плагин), заказ создаётся в WooCommerce до оплаты, со статусом «Ожидает оплаты», и только после успешного вебхука от Т‑Банк переходит в «В обработке». Проблема возникает, когда покупатель обновляет страницу оплаты или закрывает вкладку раньше времени - банк всё равно присылает уведомление, но с задержкой в несколько минут, и заказ какое-то время висит неоплаченным, хотя деньги уже списаны. Я в таких магазинах ставлю проверку статуса заказа через cron раз в 15 минут, чтобы ловить зависшие платежи, которые не дошли по вебхуку из-за таймаута на стороне хостинга.

Если у клиента есть ещё и Telegram-уведомления менеджеру о новом оплаченном заказе - обычно вешаю их на тот же хук смены статуса на «processing», чтобы не дублировать логику проверки оплаты в двух местах.

Тестирование оплаты и типичные ошибки настройки

Перед переключением на боевой терминал прогоняю тестовые карты из документации Т‑Банк на разные сценарии: успешная оплата, отказ банка-эмитента, недостаточно средств, 3‑D Secure с кодом подтверждения. Вот с чем сталкиваюсь чаще всего на реальных проектах:

Проблема Причина Что делаю
«Terminal not found» при переходе на оплату Перепутаны TerminalKey теста и боевого режима Сверяю ключ в настройках плагина с личным кабинетом, регистр важен
Оплата прошла, заказ остался «Ожидает оплаты» Notification URL недоступен снаружи (закрыт .htaccess или файрволом) Проверяю адрес curl-запросом с внешнего сервера, открываю доступ
Двойное списание с карты Неверно настроен режим двухстадийной оплаты Возвращаю одностадийный режим либо добавляю ручное подтверждение холда
Кнопка оплаты не появляется на чекауте Способ оплаты не привязан к зоне доставки или валюте Проверяю настройки метода в WooCommerce → Платежи и зоны доставки

Сколько стоит настроить оплату Т‑Банк на WooCommerce

Если просто подключить плагин к уже готовому магазину и свести тестовые платежи - это укладывается в несколько часов работы, у фрилансеров такая задача на бирже обычно стоит 5 000-15 000 ₽ в зависимости от того, нужно ли ещё чинить шаблон checkout. Когда нужна не только оплата, а весь магазин под ключ - каталог, корзина, интеграция с СДЭК, оплата Т‑Банк и адаптация под мобильные - я беру такие проекты от 80 000 ₽, срок обычно 3-4 недели в зависимости от количества товарных категорий.

После запуска магазин требует присмотра - банк периодически обновляет API, меняются требования комплаенса, слетают вебхуки после обновления WooCommerce. Для таких случаев у меня есть техническая поддержка интернет-магазина после запуска, куда входит мониторинг платежей и оперативное исправление вебхуков, если банк меняет формат уведомлений.

Интернет-магазин под ключ

Интернет-магазин

от 80 000 ₽

Подробнее →

Частые вопросы

Сколько времени занимает настройка оплаты Т‑Банк на WooCommerce?

Если терминал в личном кабинете эквайринга уже одобрен, установка и настройка плагина занимает 2-4 часа вместе с тестовыми платежами. Основное время уходит не на плагин, а на подключение самого терминала банком - от 1 дня до недели в зависимости от того, как быстро прошла проверка документов и сайта.

Можно ли принимать оплату Т‑Банк без официального плагина, через API напрямую?

Можно, у Т‑Банк есть открытый REST API для инициализации платежей и приёма уведомлений. Так делаю, когда у клиента нестандартный чекаут или нужна логика, которую плагин не поддерживает - например, разделение платежа между несколькими продавцами на маркетплейсе. Для обычного магазина это лишняя работа, официальный плагин закрывает 90% сценариев.

Какая комиссия у Т‑Банк эквайринга для интернет-магазина?

Стандартная ставка для интернет-эквайринга у Т‑Банк обычно в районе 2,2-2,7% от суммы платежа, точный процент банк называет индивидуально после оценки оборота и категории товаров - у крупных магазинов с оборотом от нескольких миллионов в месяц ставка ниже. Это не моя услуга, а тариф банка, уточнять его нужно у менеджера при подключении.

Что делать, если заказ висит в статусе «Ожидает оплаты» после успешной оплаты картой?

Первым делом смотрю логи сервера на предмет входящих запросов от Т‑Банк на Notification URL - если запросов нет вообще, адрес недоступен снаружи или закрыт хостингом. Если запрос приходит, но с ошибкой 403/500, проблема обычно в кэширующем плагине, который отдаёт кэшированную страницу вместо обработки вебхука - для адреса уведомлений нужно исключение из кэша.

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Самозанятый Калинкин Н. А. · работаю с физлицами и юрлицами

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно