- Created by Общий аккаунт ТП, last modified on 05.06.2020
Функционал устарел.
В настоящий момент для рассылки webhook применяется URL доп. обработчика в соответствии со статьёй Получение дополнительных параметров о транзакции. Ранее для рассылки нотификаций использовался URL обработчика (описанный в этой статье). Все используемые до обновления функционала URL продолжат получать рассылку уведомлений.
В случае успешного завершения платежа информация о нем будет передана Вам POST запросом на адрес указанный при создании сервиса (URL скрипта обработчика на Вашем сайте), а также GET запросом на страницу успешной покупки. Если при создании сервиса было заполнено поле email, то на указанную электронную почту также будет выслана информация о платеже.
Таблица №3 параметры (POST) передаваемые от системы Банка в ТСП:Запросы от нашего сервера в случае первой неудачной попытки передаются со следующей периодичностью: 180, 180, 180 с.
Имя параметра | Значение |
tid | ID транзакции в системе Банка |
name | описание оплачиваемого товара/услуги |
comment | комментарий или информация о платеже |
partner_id | ID партнера, то есть ваш ID |
service_id | ID сервиса |
order_id | цифровое поле, обязательно. Указывается номер заказа в системе партнера, либо номера автоматически присвоенный системой Банка,если в запросе ТПС был указан 0 |
type | тип платежа, канал по которому фактически прошла оплата определяется по подстроке:
|
currency | Валюта операции, по умолчанию RUB, не участвует в формировании подписи |
partner_income | сумма в рублях дохода магазина |
system_income | сумма в рублях оплаченная плательщиком |
test | параметр равен 1, если проводится тестирование с помощью интерфейса Банка. Во всех остальных случах параметр не задан |
check | цифровая подпись запроса- это последовательность символов, которая кодируется по алгоритму MD5. Данная последовательность получается путем соединения следующих параметров в строку в указанном порядке: o tid o name o comment o partner_id o service_id o order_id o type o partner_income o system_income o test o secret key (секретный ключ, который вы вводите в настройках сервиса) |
Кроме перечисленных параметров, на обработчик и страницу успешной покупки приходят параметры phone_number и email – телефон и email пользователя (если Вы сделали обязательным ввод этих данных в настройках сервиса).
В случае успешной обработки запроса от Банка скрипт обработчик должен вернуть ответ HTTP 200 OK. Система банка получив ответ HTTP 200 считает запрос успешно обработанным и прекращает попытки вызова обработчика.
Пример скрипта-обработчика на PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <?php // Функция обработки A1Lite "URL скрипта обработчика на Вашем сайте" // $t - Данные $_POST на входе // $secret - "Секретный ключ" совпадающий с указанным в настройках формы создания сервиса function a1lite_processor($t,$secret) { $params = array( 'tid' => $t['tid'], 'name' => $t['name'], 'comment' => $t['comment'], 'partner_id' => $t['partner_id'], 'service_id' => $t['service_id'], 'order_id' => $t['order_id'], 'type' => $t['type'], 'partner_income' => $t['partner_income'], 'system_income' => $t['system_income'] ); $params['check'] = md5(join('', array_values($params)) . $secret); if ($params['check'] === $t['check']) { // Действия по зачислению платежа. A1Lite - Ключи совпали. $ok=TRUE; } else { // Действия по ошибке. A1Lite - Ключи не совпали. $ok= FALSE; } return $ok; } // Пример вызова функции. $secret = '12345'; a1lite_processor($_POST,$secret); |
- No labels
1 Comment
Anonymous
А вот если я хочу кроме подписи проверить еще свои partner_id и service_id, то где мне их взять?