Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 33 Current »

Если Вы хотите использовать рекуррентные платежи или хотите оказывать услугу пользователю частично (например, пополнять внутренний счёт в зависимости от средств, которые внёс пользователь), то Вам может быть интересна возможность получать дополнительные параметры об оплате. Для этого Вам необходимо при создании сервиса указать . Если 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).
Версия по умолчанию — 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.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 – дата создания транзакции
  • No labels