Если Вы хотите получать статус транзакции, использовать рекуррентные или двухстадийные платежи, то Вам может быть интересна возможность получать нотификации об оплате. Для этого Вам необходимо при создании сервиса указать .

В случае завершения платежа информация о нем будет передана Вам POST­-запросом на данный URL, а также GET-­запросом на URL страницы успешной покупки (или ошибки, если совершить транзакцию не удалось). Таким образом в передаче параметров нотификации участвует три поля из настроек вашего сервиса:

  • URL скрипта для получения веб-хуков

В заголовках Content-Type всегда равен application/x-www-form-urlencoded. Набор параметров для обеих рассылок идентичен. Таким образом вы можете уведомлять пользователя о деталях оплаченного заказа после редиректа на страницу успеха, основываясь на данных, полученных из нотификации: номер заказа, стоимость, дата и т.д. Подробности ниже в таблице параметров (см. оглавление).

Если при создании сервиса было заполнено поле email, то на указанную электронную почту также будет выслана информация о платеже.

Повторы

Запросы от нашего сервера в случае первой неудачной попытки передаются со следующей периодичностью: 180, 180, 180 с.


Версия нотификаций 1.0 (по умолчанию)

Таблица параметров, передаваемых на

ПараметрВерсияОписание
tid1.0, 1.1ID транзакции
name1.0, 1.1Название товара или услуги. Отображается на странице оплаты.
comment1.0, 1.1Комментарий платежа переданный в процессе инициализации платежа.
partner_id1.0, 1.1ID партнера, то есть ваш ID
service_id1.0, 1.1ID сервиса
order_id1.0, 1.1ID заказа
type1.0, 1.1Тип платежа
currency1.0, 1.1Валюта операции, поддерживается только RUB, не участвует в формировании подписи при version = (1.0|1.1)
cost1.0, 1.1Общая сумма заказа, переданная при инициализации платежной операции
income_total1.0, 1.1

Общая сумма в рублях, заплаченная покупателем, может отличаться от income и system_income только в случае оплаты частями или при переносе

комиссии на плательщика

income1.0, 1.1Сумма в рублях, полученная от платежного инструмента по данной платежной транзакции
partner_income1.0, 1.1Сумма в рублях, дохода магазина по данной платежной транзакции
system_income1.0, 1.1Сумма в рублях, заплаченная покупателем по данной платежной транзакции
command1.0, 1.1Текущее действие:
  • command=cancel – получен отказ от платежного канала, расшифровка причины в поле resultStr
  • command=success – вызывается при полной оплате сервиса
  • command=recurrent_cancel – вызывается в случае, если держатель карты отменил рекуррентные платежи.
  • command=recurrent_expire – вызывается когда истёк срок  рекуррента.
  • command=refund – вызывается в результате выполнения операции отмены платежа. В поле result=ok или fail. А в resultStr – причина отказа.
  • command=authorize_payment – вызывается при использовании двойной авторизации при платеже
  • command=funds_blocked – вызывается при использовании двух этапной оплаты (BLOCK + CHARGE). Описание в разделе “Двухэтапные платежи (предавторизация)”.

ВАЖНО: в случае полной оплаты сервиса придут и success и process.

result1.0, 1.1Только для command=refund, значения ‘ok’ или ‘fail’
resultStr1.0, 1.1Текст уведомления.
version1.0, 1.1Версия протокола уведомления. (На данный момент: 1.0, 1.1).
Версия по умолчанию — 1.0. Переключение на другие версии производится на стороне Провайдера.
phone_number1.0, 1.1Опционально, номер телефона
email1.0, 1.1Опционально, email
date_created1.0, 1.1дата и время создания транзакции, формат 'YYYY-MM-DD HH24.MI.SS' (MSK)
recurrent_order_id1.0, 1.1ID заказа (order_id), который был передан при первом вызове рекуррентного платежа (только для рекуррентных операций)
card1.0, 1.1v 1.0 Маскированный номер карты, в случае если проведенный платеж является рекуррентным (только для рекуррентных операций)
При v1.1 и v2.0 заполнено всегда, если оплата осуществлялась с вводом номера карты.
card_binding_id1.0, 1.1уникальный токен для сохраненных данных карты. Устарело.
test1.0, 1.1Значение 1 (только для тестовых платежей), См. описание
check1.0, 1.1MD5 хеш от параметров: tid + name + comment + partner_id + service_id + order_id + type + cost + income_total + income + partner_income + system_income + command + phone_number + email + result + resultStr + date_created + version + card +  recurrent_order_id + test + secret_key
Где secret_key – секретный ключ сервиса. Пример формирования продемонстрирован ниже.
check(если command=refund)1.0, 1.1

MD5 хеш от параметров:'tid'+'name'+'comment'+'partner_id'+'service_id'+'order_id'+'type'+'cost'+'command'+'result'+'resultStr'+'phone_number'+'email'+'date_created'+'version'+'secret_key'

refund_ext_id1.0, 1.1дополнительный id возврата при осуществлении нескольких возвратов в рамках транзакции. Подробнее
  • resultStr – текст уведомления. Для значения параметра command=success он стандартный. Для command=cancel выводится то, что ответит платёжный шлюз.

Формирование подписи check для первой версии API

Версия меняется по запросу в отдел технической интеграции

Все параметры участвуют в формировании подписи check. Подпись формируется как md5 от всех параметров, сцепленных в строку без пробелов + добавленный в конце секретный ключ сервиса.

Пример на PHP