Уведомления об операциях
Уведомления об операциях — это уведомления мерчанту о статусе выполнения платежа. На основании этих уведомлений магазин должен предоставлять покупателю услугу или товар.
Чтобы настроить уведомления:
- В личном кабинете интернет-эквайринга перейдите в раздел Магазины.
- На вкладке Терминалы нажмите Настроить и выберите нужный вариант получения уведомлений — почта, HTTP(S) или оба варианта.
Вы можете получать уведомления не только о статусах платежа — также есть уведомления о привязке карты,
фискализации и привязке счета по QR. Такие уведомления отправляются только на NotificationURL, заданный в настройках терминала.
Платеж (NotificationPayment)
После проведения платежа через вызов метода Инициировать платеж вам будет отправлена информация о статусе платежа.
На электронную почту
Т‑Бизнес будет присылать письма с уведомлениями об успешных платежах в статусе CONFIRMED.
По HTTP(S)
При вызове методов:
Подтвердить списание и Отменить платеж — уведомление с информацией об операции отправляется через POST‑запрос на адрес
NotificationURL.При двухстадийной оплате — уведомление с информацией об операции отправляется через POST‑запрос на адрес
NotificationURL.При одностадийной оплате — уведомление отправляется на ваш сайт на адрес
NotificationURLи ждет ответа в течение 10 секунд. Сервис одновременно отправляет две нотификации —AUTHORIZEDиCONFIRMED.Для метода Провести платеж по сохраненным реквизитам логика такая же.
Привязать карту — уведомление отправляется на ваш сайт на адрес
NotificationURLи ждет ответа в течение 10 секунд.
Если в NotificationURL используются порты, можно использовать порт 443 (HTTPS).
Дополнительные параметры
Чтобы включить дополнительные параметры DATA, обратитесь к своему персональному менеджеру.
В уведомлениях можно получать дополнительные параметры. Для этого передайте объект DATA с нужными параметрами. В ответе вернется параметр Data — учитывайте регистр.
Пример набора параметров:
description | Описание. |
name | ФИО. |
order_number | Идентификатор заказа. |
paymentId | Идентификатор платежа. |
source* | Способ оплаты. |
phone | Телефон. |
terminalKey | Идентификатор терминала. |
* При использовании платежной формы банка параметр source возвращается автоматически.
Чтобы получать POST‑запросы со статусами платежа, укажите URL в настройках терминала или передайте параметр NotificationURL в запросе метода Инициировать платеж. Если параметр передан, используется его значение, если нет — значение из настроек терминала.
Ответ на HTTP(s)-уведомление
При успешной обработке уведомления вам нужно вернуть ответ HTTP CODE = 200 с телом сообщения OK — без тегов, заглавными английскими буквами.
Если ответ OK не получен, уведомление считается неуспешным. Сервис будет повторно отправлять его раз в час в течение 24 часов, а затем раз в сутки в течение месяца. Если за это время оно так и не будет доставлено, уведомление будет перемещено в архив.
Уведомления хранятся в архиве 90 дней. В течение этого времени вы можете запросить их повторную отправку.
Привязка (NotificationAddCard)
Для мерчантов со своей платежной формой.
После привязки карты через метод Привязать карту вам будет отправлена информация о статусе привязки.
Фискализация (NotificationFiscalization)
Если вы работаете по схеме интеграции «Маркетплейс», такой тип уведомлений не отправляется.
При подключенной онлайн-кассе по результату фискализации вам придет уведомление с фискальными данными. Чтобы включить такие уведомления, обратитесь в поддержку банка.
Статус привязки счета по QR (NotificationQr)
Такие уведомления будут приходить только по статусам ACTIVE и INACTIVE.
После успешной привязки счета по QR вам будет отправлена информация о статусе привязки счета и подпись запроса.
Проверить токен уведомлений
При получении уведомления и перед его обработкой проверьте токен:
Соберите массив всех переданных в нотификации параметров в виде пар
ключ:значение— кроме параметраTokenи вложенных объектов (Data,Receipt):[{"TerminalKey": "1234567890DEMO"},{"OrderId": "000000"},{"Success": "true"},{"Status": "AUTHORIZED"},{"PaymentId": "0000000"},{"ErrorCode": "0"},{"Amount": "1111"},{"CardId": "000000"},{"Pan": "200000******0000"},{"ExpDate": "1111"},{"RebillId": "000000"}]Добавьте в массив пару
{"Password": "Значение пароля"}. Пароль можно найти в личном кабинете интернет-эквайринга.[{"TerminalKey": "1234567890DEMO"},{"OrderId": "000000"},{"Success": "true"},{"Status": "AUTHORIZED"},{"PaymentId": "0000000"},{"ErrorCode": "0"},{"Amount": "1111"},{"CardId": "000000"},{"Pan": "200000******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):
1c0964277d0213349243065a0d5b838b8e90d2d25f740d0f2767836e710e80c8