Кабинет
Сервисы

#Приём оплаты

Оплата картой в магазине. Работает через эквайринг Т-Банка.

Настройки → Настройки API → Приём оплаты.

ПолеЧто это
Терминалномер терминала из личного кабинета банка
Пароль терминалаон же секретный ключ
Формировать чекнужен, если к терминалу подключена онлайн-касса
Система налогообложенияУСН доходы, УСН доходы минус расходы, ОСН, патент, ЕНВД, ЕСХН
Ставка НДСбез НДС, 0 %, 10 %, 20 %, 10/110, 20/120

Терминал и пароль берутся в личном кабинете Т-Банка, раздел с реквизитами магазина. Пока не заполнены оба — кнопка оплаты не работает.

#Как проходит оплата

покупатель нажал «Оплатить»
  → сайт зовёт банк и получает адрес платёжной страницы
  → покупателя уводит на страницу банка
  → покупатель платит
  → банк присылает уведомление на /shop/pay/notify/
  → заказ помечается оплаченным
Почему так

Заказ считается оплаченным по уведомлению от банка, а не по возврату покупателя.

Возврат на «спасибо за оплату» — всего лишь переход по адресу. Его можно открыть руками, ничего не оплатив, а можно и не открыть вовсе, закрыв вкладку сразу после оплаты. Поэтому решает уведомление, и только с верной подписью.

Уведомление принимается, если сходится подпись: значения полей, отсортированные по имени, склеиваются вместе с паролем терминала, и от этого берётся отпечаток. Не сошлась — заказ не трогают, а в журнал пишется строка.

Оплатой считается только статус CONFIRMED. AUTHORIZED — это заблокированные, но не списанные деньги; для двухстадийной оплаты он ещё не оплата.

Повторное уведомление ничего не портит: уже отмеченный заказ второй раз не двигают.

#Что происходит после оплаты

  1. В заказе проставляется дата оплаты.
  2. Заказ переходит в статус, у которого стоит флажок **«Считать оплаченным»** — первый такой по порядку. Название статуса при этом любое.
  3. В рабочий чат уходит сообщение с номером заказа и суммой.

#Чек

Включайте «Формировать чек», только если к терминалу подключена онлайн-касса. Если касса есть, а чек выключен — банк вернёт ошибку и платёж не начнётся.

В чек уходят позиции заказа: название, цена, количество, сумма и ставка НДС. Почта и телефон покупателя добавляются, если они есть в заказе, — на них банк отправит чек.

#Проверка

Кнопка «Проверить связь» спрашивает у банка несуществующий заказ.

ОтветЧто значит
«терминал отвечает, подпись принята»всё в порядке
«подпись не принята»неверный пароль терминала
«терминал или пароль не заданы»заполнено не всё

Ответ «заказ не найден» — тоже успех: значит банк принял подпись и дошёл до поиска заказа.

Важно

Проверка не списывает денег и не создаёт платежей.

#Что чаще всего идёт не так

«Банк не принял платёж». Точную причину банк присылает текстом, она показывается на экране и пишется в журнал сервера. Чаще всего это выключенный чек при подключённой кассе или неверная система налогообложения.

«Покупатель заплатил, заказ не оплачен». Смотрите журнал: строка payNotify: подпись не сошлась означает, что пароль терминала в панели не тот, что в банке. Уведомление банк повторяет ещё сутки с нарастающей задержкой — исправьте пароль, и заказ отметится сам.

«Заказ оплачен, но остался в прежнем статусе». Ни у одного статуса заказа не стоит флажок «Считать оплаченным». Дата оплаты при этом проставляется всё равно.