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

Клиент оплатил заказ на сайте и ждёт подтверждения. Если оно не придёт за пару минут, начинается тревога: «списали деньги, а заказ оформился?» Триггерное SMS после оплаты снимает этот вопрос. Настраивается оно через API-интеграцию платёжного шлюза с SMS-сервисом: при успешной транзакции система автоматически отправляет короткое сообщение с номером заказа и суммой — без участия менеджера. Ниже — как это устроить на практике, какие данные передавать и каких ошибок избежать.
Зачем отправлять SMS, а не только email после оплаты?
Email-подтверждение попадает в папку «Промоакции» или теряется среди рассылок. SMS появляется на экране телефона за секунды. По данным отраслевых сравнений, открываемость SMS достигает 98%, тогда как у email — 20–25% (smsblog.ru). Для подтверждения оплаты важна скорость: клиент должен увидеть факт, что деньги приняты, пока он ещё на странице «Спасибо за заказ».
Есть и второй эффект. Моментальное SMS формирует ощущение надёжности. Интернет-магазин, который молча принял деньги и отозвался через час письмом, вызывает меньше доверия, чем тот, что ответил SMS через 5 секунд.
Как работает триггерная цепочка «оплата → SMS»?
Схема состоит из трёх звеньев: платёжный шлюз, бэкенд интернет-магазина (или CRM) и SMS-шлюз с API.
- Платёжный шлюз отправляет callback (webhook) на ваш сервер при успешной оплате. В callback приходят сумма, идентификатор заказа и статус транзакции.
- Бэкенд или CRM принимает callback, проверяет подпись и статус. Если оплата подтверждена, формирует текст SMS и вызывает API SMS-шлюза.
- 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 для возврата клиента после первого заказа. Но это уже вторая задача — сначала закройте транзакционное подтверждение.
Три шага, которые можно сделать сегодня:
- Проверьте документацию вашего платёжного шлюза: есть ли раздел про callback/webhook и какие статусы он присылает при успешной оплате.
- Зарегистрируйте альфа-имя отправителя в SMS-сервисе — пока оно проходит модерацию, вы подготовите шаблон сообщения и endpoint для webhook.
- Напишите шаблон SMS на 60–65 кириллических символов с переменными: название магазина, номер заказа, сумма. Сделайте тестовый заказ и убедитесь, что сообщение пришло за несколько секунд.


