Интеграция

Уведомления о транзакциях

Сервисные уведомления о транзакциях
Интеграция
Уведомления о транзакциях
Сервисные уведомления о транзакциях
Дата публикации: 17 мая 2022
После проведения оплаты сервер отправляет POST-запрос с уведомлением на url, указанный для оповещения. Вы можете указать его в запросе на оплату в поле callback_url либо в личном кабинете.
В случае, если url указан и в запросе на оплату, и в ЛК, приоритетным считается указанный в запросе.

Ответ от сервера приходит в виде POST-запроса, содержащего данные о транзакции. Signature в данном случае считается из всех полей, содержащихся в ответе.

Сервер ожидает, что callback будет обработан на стороне магазина с ответом со статусом 200 ОК. Иначе будут совершены попытки переотправки в количестве 14 штук, с интервалом времени, возрастающим по экспоненте.
Вид ответа:
{
"testing": "0",
"pan_mask": "220011******4440",
"unix_timestamp": "1570161434",
"salt": "DB9481A6554924BFD2F2279B5AD05B9D",
"rrn": "927703219385",
"transaction_id": "0EyuFLLZ9DagCXy8O67Q6x",
"original_amount": "10.00",
"auth_number": "2164219385",
"amount": "10.00",
"created_datetime": "2019-10-04 03:56:09",
"auth_code": "201471",
"signature": "622e1486dba17d05d080c6734131205a75d59188",
"client_phone": "+79999999999",
"client_email": "example@example.ru",
"state": "COMPLETE",
"order_id": "697144",
"currency": "RUB",
"merchant": "51cb8a0f-6fb8-4a20-98b1-9fd85dc47500",
"payment_method": "card",
"payment_type":"single_payment"
"meta":
{"bill_id": "vlICmFjY7nST9KARa5RsSJ"} // в случае если был выставлен счет
}
В случае, если транзакция завершилась неуспешно, и в запросе был указан параметр callback_on_failure, ответ будет иметь следующий вид:
{
"testing": "0",
"pan_mask": "220011******4440",
"unix_timestamp": "1570161434",
"salt": "DB9481A6554924BFD2F2279B5AD05B9D",
"transaction_id": "0EyuFLLZ9DagCXy8O67Q6x",
"original_amount": "10.00",
"amount": "10.00",
"created_datetime": "2019-10-04 03:56:09",
"signature": "161787e7ddb31ffa6ac1988cef16ceffa69b3324",
"client_phone": "+79999999999",
"client_email": "example@example.ru",
"state": "FAILED",
"mps_error_code": "101",
"message": "Отказ при выполнении авторизации",
"order_id": "697144",
"currency": "RUB",
"merchant": "51cb8a0f-6fb8-4a20-98b1-9fd85dc47500",
"payment_method": "card",
"meta":
{"bill_id": "vlICmFjY7nST9KARa5RsSJ"} // в случае если был выставлен счет
}
Для проверки корректности уведомления на стороне интернет-магазина нужно провести расчет сигнатуры по пришедшим в ответе полям и убедиться, что она сходится с той, что содержится в пришедшем json от эквайринга.

Обратите внимание, что сигнатура для тестовых и реальных платежей считается по тестовому и реальному секретным ключам соответственно. Подробнее о расчете сигнатуры можно прочитать в разделе Алгоритм расчета поля signature.
Регистрационный номер машины (РНМ)
Идентификатор кассы в базе данных налоговой, который состоит из 16-и случайных цифр. РНМ уникален для каждой кассы и нужен для последующей активации фискального накопителя.
Читайте также:

Вам помогла эта статья?