Получение данных о платеже
Уведомления об операциях — рекомендуемый сценарий получения информации об основных параметрах платежа.
Уведомления об операциях — это уведомления мерчанту о статусе выполнения платежа. На основании этих уведомлений магазин должен предоставлять покупателю услугу или товар.
Чтобы настроить уведомления:
- В личном кабинете интернет-эквайринга перейдите в раздел Магазины.
- На вкладке Терминалы нажмите Настроить и выберите нужный вариант получения уведомлений — почта, HTTP(S) или оба варианта.
Уведомления приходят не только о статусах платежа — также есть уведомления о привязке карты и привязке счета по QR.
Уведомления о платеже (NotificationPayment)
После проведения платежа через вызов метода Инициировать платеж вам будет отправлена информация о статусе платежа.
На электронную почту
Т‑Бизнес будет присылать письма с уведомлениями об успешных платежах в статусе CONFIRMED.
По HTTP(S)
При вызове методов:
- Подтвердить списание и Отменить платеж — уведомление с информацией об операции отправляется через POST‑запрос на адрес - NotificationURL.
- При одностадийной оплате — уведомление синхронно отправляется на ваш сайт на адрес - NotificationURLи ждет ответа в течение 10 секунд. После получения или неполучения ответа сервис переадресует покупателя на- SuccessURLили- FailURL.
- При двухстадийной оплате — уведомление с информацией об операции отправляется через POST‑запрос на адрес - NotificationURL.
 
- Инициировать платеж — уведомление о привязке синхронно отправляется на ваш сайт на адрес - NotificationURLи ждет ответа в течение 10 секунд. После получения или неполучения ответа сервис переадресует покупателя на- SuccessAddCardURLили- FailAddCardURL.
Если в NotificationURL используются порты, можно использовать порт 443 (HTTPS).
Для корректной работы уведомлений добавьте эти сети в исключения сетевых фильтров или других видов защиты, которыми пользуетесь:
Чтобы получать POST‑запросы со статусами платежа, укажите URL в настройках терминала.
Ответ на HTTP(s)-уведомление
При успешной обработке уведомления вам нужно вернуть ответ HTTP с кодом 200 и телом сообщения OK — без тегов, заглавными английскими буквами.
Если ответ OK не получен, уведомление считается неуспешным. Сервис будет отправлять его повторно раз в час в течение 24 часов,
а затем — раз в сутки в течение месяца. Если за это время уведомление так и не будет доставлено,
оно переместится в архив.
Уведомления о привязке карты (NotificationAddCard)
После привязки карты через метод Инициировать платеж вам будет отправлена информация о статусе привязки.
Уведомления о статусе привязки счета по QR (NotificationQr)
Такие уведомления будут приходить только по статусам ACTIVE и INACTIVE.
После успешной привязки счета по QR вам будет отправлена информация о статусе привязки.
API-методы для получения данных об операции
В отправляемых выше уведомлениях вам будет приходить общая информация по операции — terminalKey, paymentId и тип события — оплата,
привязка карты, счета.
Также вы можете получать информацию об основных параметрах платежа через методы:
- Получить состояние платежа — для получения данных по конкретному платежу и данных по возврату платежа по СБП.
- Получить справку по операции — для получения справки по конкретной операции. Ее можно получить на вашу электронную почту или URL вашего сервиса.
Проверка токена уведомлений
При получении уведомления и перед его обработкой проверьте токен:
- Соберите массив всех обязательных передаваемых параметров для конкретного метода в виде пар - ключ:значение, кроме параметра- Token:- [{"TerminalKey": "1234567890DEMO"},{"OrderId": "000000"},{"Success": "true"},{"Status": "AUTHORIZED"},{"PaymentId": "0000000"},{"ErrorCode": "0"},{"Amount": "1111"},{"CardId": "000000"},{"Pan": "20000******0000"},{"ExpDate": "1111"},{"RebillId": "000000"}]
- Добавьте в массив пару - {"Password": "Значение пароля"}. Пароль можно найти в личном кабинете интернет-эквайринга.- [{"TerminalKey": "1234567890DEMO"},{"OrderId": "000000"},{"Success": "true"},{"Status": "AUTHORIZED"},{"PaymentId": "0000000"},{"ErrorCode": "0"},{"Amount": "1111"},{"CardId": "000000"},{"Pan": "20000******0000"},{"ExpDate": "1111"},{"RebillId": "000000"},{"Password": "11111111111"}]
- Отсортируйте массив по алфавиту по ключу: - [{"Amount": "1111"},{"CardId": "000000"},{"ErrorCode": "0"},{"ExpDate": "1111"},{"OrderId": "000000"},{"Pan": "200000******0000"},{"Password": "11111111111"},{"PaymentId": "0000000"},{"RebillId": "000000"},{"Status": "AUTHORIZED"},{"Success": "true"},{"TerminalKey": "1234567890DEMO"}]
- Конкатенируйте только значения пар в одну строку: - 111100000001111000000200000******0000111111111110000000000000AUTHORIZEDtrue1234567890DEMO
- Примените к строке хеш-функцию SHA-256 (с поддержкой UTF-8): - 9b20300c4db1cc89e55dba5062497f135420cc5d93038d7e0a42537a1a36fcc5