Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

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

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

ПараметрВерсияОписание
tid1.0, 1.1, 2.0ID транзакции
name1.0, 1.1, 2.0Название товара или услуги. Отображается на странице оплаты.
comment1.0, 1.1, 2.0Комментарий платежа переданный в процессе инициализации платежа.
partner_id1.0, 1.1, 2.0ID партнера, то есть ваш ID
service_id1.0, 1.1, 2.0ID сервиса
order_id1.0, 1.1, 2.0ID заказа
type1.0, 1.1, 2.0Тип платежа
currency1.0, 1.1, 2.0Валюта операции, поддерживается только RUB, не участвует в формировании подписи при version = (1.0|1.1)
cost1.0, 1.1, 2.0Общая сумма заказа, переданная при инициализации платежной операции
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, 2.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.0ID заказа (order_id), который был передан при первом вызове рекуррентного платежа (только для рекуррентных операций)
card1.0, 1.1, 2.0v 1.0 Маскированный номер карты, в случае если проведенный платеж является рекуррентным (только для рекуррентных операций)
v 1.1 и 2.0 заполнено всегда когда есть поле card
cardholder2.0Имя держателя карты если присутствует в транзакции
card_binding_id1.0, 1.1, 2.0уникальный токен для сохраненных данных карты. Подробнее.
test1.0, 1.1, 2.0Значение 1 (только для тестовых платежей), См. описание
paid_date2.0дата и время оплаты транзакции (подтверждения оплаты платежным каналом), формат 'YYYY-MM-DD HH24.MI.SS' (MSK)
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, 2.0дополнительный id возврата при осуществлении нескольких возвратов в рамках транзакции. Подробнее

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

Внимание: для рекуррентных платежей добавляются два поля card и recurrent_order_id и строка для подписи формируется следующим образом:

tid + name + comment + partner_id + service_id + order_id + type + cost + income_total + income + partner_income + system_income + command + phone_number + email + resultStr + date_created + version +card +  recurrent_order_id + secret_key

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

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