Как настроить триггерное SMS после оплаты онлайн

Как настроить триггерное SMS после оплаты онлайн

Клиент оплатил заказ на сайте и ждёт подтверждения. Если оно не придёт за пару минут, начинается тревога: «списали деньги, а заказ оформился?» Триггерное SMS после оплаты снимает этот вопрос. Настраивается оно через API-интеграцию платёжного шлюза с SMS-сервисом: при успешной транзакции система автоматически отправляет короткое сообщение с номером заказа и суммой — без участия менеджера. Ниже — как это устроить на практике, какие данные передавать и каких ошибок избежать.

Зачем отправлять SMS, а не только email после оплаты?

Email-подтверждение попадает в папку «Промоакции» или теряется среди рассылок. SMS появляется на экране телефона за секунды. По данным отраслевых сравнений, открываемость SMS достигает 98%, тогда как у email — 20–25% (smsblog.ru). Для подтверждения оплаты важна скорость: клиент должен увидеть факт, что деньги приняты, пока он ещё на странице «Спасибо за заказ».

Есть и второй эффект. Моментальное SMS формирует ощущение надёжности. Интернет-магазин, который молча принял деньги и отозвался через час письмом, вызывает меньше доверия, чем тот, что ответил SMS через 5 секунд.

Как работает триггерная цепочка «оплата → SMS»?

Схема состоит из трёх звеньев: платёжный шлюз, бэкенд интернет-магазина (или CRM) и SMS-шлюз с API.

  1. Платёжный шлюз отправляет callback (webhook) на ваш сервер при успешной оплате. В callback приходят сумма, идентификатор заказа и статус транзакции.
  2. Бэкенд или CRM принимает callback, проверяет подпись и статус. Если оплата подтверждена, формирует текст SMS и вызывает API SMS-шлюза.
  3. SMS-шлюз отправляет сообщение на номер клиента и возвращает статус доставки.

Весь процесс занимает 2–10 секунд, если серверы работают стабильно. Клиент получает SMS почти одновременно с экраном подтверждения на сайте.

Какие данные включить в SMS после оплаты?

Сообщение ограничено 70 кириллических символов в одном сегменте (или 160 латинских). Вот что стоит уместить:

ЭлементПримерЗачем
Имя магазина (альфа-имя)MoiTovaryКлиент видит отправителя, а не случайный номер
Номер заказа№48217Позволяет найти заказ в личном кабинете или при обращении
Сумма127.50 BYNСнимает сомнение «а правильную ли сумму списали»
Короткая ссылка на отслеживание8s.by/abcКлиент сразу переходит к статусу доставки

Подставляйте переменные из CRM прямо в шаблон SMS: имя клиента, номер заказа, сумму. Как подключить такую персонализацию через API, хорошо описано в руководстве по автоматизации SMS-уведомлений о статусе заказа. Принцип тот же — меняется только триггер: вместо смены статуса заказа используется событие «оплата подтверждена».

Пошаговая настройка: от webhook до отправки

Шаг 1. Получите API-ключ SMS-шлюза

Зарегистрируйтесь в сервисе SMS-рассылок, создайте проект и получите API-ключ. Зарегистрируйте альфа-имя отправителя — это название, которое увидит клиент вместо номера. Регистрация альфа-имени у белорусских операторов занимает от одного до нескольких рабочих дней.

Шаг 2. Настройте обработку webhook от платёжной системы

Создайте на своём сервере endpoint (адрес), который будет принимать POST-запросы от платёжного шлюза. При получении запроса проверяйте подпись — без этого злоумышленник может имитировать оплату. После проверки извлеките номер телефона клиента, сумму и номер заказа.

Шаг 3. Отправьте SMS через API

Сформируйте текст из шаблона, подставив переменные. Отправьте POST-запрос к SMS API. Сохраните идентификатор сообщения — он понадобится для проверки статуса доставки. Если API вернул ошибку, запишите её в лог и повторите попытку через 5–10 секунд.

Шаг 4. Протестируйте на тестовом заказе

Создайте заказ с тестовой оплатой. Убедитесь, что SMS пришло на ваш номер с правильным текстом, альфа-именем и корректной суммой. Проверьте, что при неуспешной оплате (отмена, недостаток средств) SMS не уходит — иначе клиент получит ложное подтверждение.

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

  • SMS уходит до проверки подписи webhook. Без этой проверки любой запрос на ваш endpoint вызовет отправку. Результат — фальшивые подтверждения и путаница на складе.
  • Текст не умещается в один сегмент. Сообщение из 75 кириллических символов займёт два сегмента и будет стоить вдвое дороже. Считайте символы заранее, с учётом максимальной длины подставляемых переменных.
  • Нет обработки ошибок API. Если SMS-шлюз временно недоступен, а retry-логика не настроена, клиент не получит подтверждение вообще. Добавьте очередь повторных попыток — две-три попытки с интервалом 10–30 секунд.
  • Дублирование SMS. Платёжная система иногда присылает callback дважды. Если не проверять уникальность транзакции, клиент получит два одинаковых сообщения. Сохраняйте ID транзакции и проверяйте: отправлялось ли SMS по этому ID.
  • Отправка SMS при частичной оплате или холдировании. Не каждый статус от шлюза означает, что деньги зачислены. Фильтруйте callback по финальному статусу — «оплата завершена», а не «оплата инициирована».

Что отправлять клиенту после подтверждения оплаты?

Подтверждение — первое SMS, но не обязательно последнее. Дальше логично выстроить цепочку: сборка заказа → передан в доставку → готов к выдаче. Каждый этап привязан к смене статуса в CRM и отправляется автоматически. Если магазин продаёт товары с ожиданием поставки, пригодится настройка SMS-уведомлений о поступлении товара.

Для магазинов, где первая покупка — только начало, имеет смысл подключить каскад SMS и email для возврата клиента после первого заказа. Но это уже вторая задача — сначала закройте транзакционное подтверждение.

Три шага, которые можно сделать сегодня:

  1. Проверьте документацию вашего платёжного шлюза: есть ли раздел про callback/webhook и какие статусы он присылает при успешной оплате.
  2. Зарегистрируйте альфа-имя отправителя в SMS-сервисе — пока оно проходит модерацию, вы подготовите шаблон сообщения и endpoint для webhook.
  3. Напишите шаблон SMS на 60–65 кириллических символов с переменными: название магазина, номер заказа, сумма. Сделайте тестовый заказ и убедитесь, что сообщение пришло за несколько секунд.