Skip to end of metadata
Go to start of metadata

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

В случае завершения платежа информация о нем будет передана Вам 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