Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

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

Система повторов аналогична стандартному webhook механизму.

Пример параметров передаваемых дополнительным обработчиком:

.

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

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

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

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

Информация
titleПовторы

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

Раскрыть
titleКак выглядит в интерфейсе

Image Added


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

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

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

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

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

income1.0, 1.1
, 2.0
Сумма
полученная в данном вызове
в рублях, полученная от платежного инструмента по данной платежной транзакции
partner_income1.0, 1.1
, 2.0
Сумма в рублях
вашего
, дохода магазина по
данному платежу
данной платежной транзакции
system_income1.0, 1.1
, 2.0
Сумма в рублях, заплаченная
абонентом
покупателем по данной платежной транзакции
command1.0, 1.1
, 2.0
Текущее действие:
  command=process – вызывается при любой (в том числе частичной) оплате сервиса
      
    • 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
    , 2.0
    Только для command=refund, значения ‘ok’ или ‘fail’
    resultStr1.0, 1.1
    , 2.0
    Текст уведомления.
    version1.0, 1.1
    , 2.0
    Версия протокола уведомления. (На данный момент: 1.0, 1.1).
    Версия по умолчанию — 1.0. Переключение на другие версии производится на стороне Провайдера.
    phone_number1.0, 1.1
    , 2.0
    Опционально, номер телефона
    email1.0, 1.1
    , 2.0
    Опционально, email
    date_created1.0, 1.1
    , 2.0
    дата и время создания транзакции, формат 'YYYY-MM-DD HH24.MI.SS' (MSK)
    recurrent_order_id1.0, 1.1
    , 2.0
    ID заказа (order_id), который был передан при первом вызове рекуррентного платежа (только для рекуррентных операций)
    card1.0, 1.1
    , 2.0
    v 1.0 Маскированный номер карты, в случае если проведенный платеж является рекуррентным (только для рекуррентных операций)
    v 1
    При v1.1 и
    2cardholder
    v2.0 заполнено всегда
    когда есть поле card
    , если оплата осуществлялась с вводом номера карты.
    card_binding_id
    1.0, 1.1
    , 2.0Имя держателя карты если присутствует в транзакции
    уникальный токен для сохраненных данных карты. Устарело.
    test1.0, 1.1
    , 2.0
    Значение 1 (только для тестовых платежей)
    check2.0Алгоритм формирования описан в приложении №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

    Внимание: для

    Значение дополнительных параметров:

      command – статус транзакции
      command = process вызывается при любой оплате сервиса
      command = cancel получен отказ от платежного канала
      command = success вызывается при полной оплате сервиса
      command = recurrent_cancel вызывается в случае, если держатель карты отменил рекуррентные платежи
      command = refund вызывается в случае выполнения операции возврата
      command = authorize_payment – вызывается при использовании двойной авторизации при платеже

     

    Следует отметить, что в случае полной оплаты сервиса будут сформированы два вызова – success и process.

      resultStr – текст уведомления. Для значений параметра command=process и success он стандартый. Для command=cancel выводится то, что ответит платёжный шлюз.
      version – версия протокола уведомления. В дальнейшем мы планируем поддерживать версионность протокола.
      date_created – дата создания транзакции


    Оглавление