Параметр | Значение |
---|---|
notification_type |
Тип уведомления:
pay – уведомление об авторизации транзакции оплаты (1) confirm – уведомление о подтверждении двухстадийной транзакции оплаты (2) fail – уведомление о неуспешной транзакции оплаты (3) cancel – уведомление об отмене двухстадийной транзакции оплаты (4) |
transaction_id | Идентификатор транзакции |
payment_method |
Метод оплаты:
1 – банковской картой 2 – по QR коду через Систему быстрых платежей в РФ (СБП) |
date_created | Время создания (Unix timestamp) |
date_last_declined | Время отклонения (Unix timestamp) |
date_authorized | Время авторизации (Unix timestamp) |
date_completed | Время подтверждения (Unix timestamp) |
date_cancelled | Время отмены (Unix timestamp) |
two_step_transaction |
Признак двухстадийной транзакции:
0 – Нет (одностадийная) 1 – Да (двухстадийная) |
status |
Статус транзакции на момент отправки уведомления (может отличаться от типа уведомления):
2 – Отклонена 3 – Авторизована (при двухстадийных транзакциях) 4 – Завершена (при одностадийных транзакциях и при двухстадийных транзакциях после их подтверждения) 5 – Отменена (при двухстадийных транзакциях) |
failure_reason | Причина отклонения транзакции |
description | Назначение платежа |
amount | Сумма |
currency_code | Код валюты (ISO 4217) |
originator_object_type |
Связанный объект, которым инициализирована транзакция:
1 – Счет 2 – Продукт 3 – Вызов по API 4 – Подписка |
originator_object_id | Идентификатор связанного объекта |
subscription_enabled |
Транзакция по подписке:
1 – Да 0 – Нет |
subscription_initial_transaction |
Транзакция по подписке является установочным платежом:
1 – Да 0 – Нет (является регулярным платежом) |
subscription_id | Идентификатор подписки |
is_subscription_transaction_retry |
Транзакция является повторной попыткой неудачного регулярного платежа по подписке:
1 – Да 0 – Нет |
subscription_originating_failed_transaction_id | Идентификатор неудачной регулярной транзакции по подписке, которой инициирована настоящая транзакция (если is_subscription_retry=1) |
reference_1 | Значение поля reference_1 (при вызове по API) |
reference_2 | Значение поля reference_2 (при вызове по API) |
reference_3 | Значение поля reference_3 (при вызове по API) |
custom_data | Значение поля custom_data (при вызове по API) |
coupon_code | Код купона акции |
promotion_id | Идентификатор акции кода купона |
card_first_six | Первые 6 цифр номера карты |
card_last_four | Последние 4 цифры номера карты |
card_type | Платежная система карты |
card_issuer | Эмитент карты |
card_issuer_country | Код страны эмитента карты (ISO 3166-1 alpha-2) |
transaction_email | Email введеный при оплате |
signature | Значение подписи; составляется на основе значений нескольких вышеуказанных параметров и API ключа проекта, см. ниже |
$inbound_notification_type=$_POST['notification_type'];
$inbound_transaction_id=$_POST['transaction_id'];
$inbound_payment_method=$_POST['payment_method'];
$inbound_transaction_date_created=$_POST['date_created'];
$inbound_transaction_date_last_declined=$_POST['date_last_declined'];
$inbound_transaction_date_authorized=$_POST['date_authorized'];
$inbound_transaction_date_completed=$_POST['date_completed'];
$inbound_transaction_date_cancelled=$_POST['date_cancelled'];
$inbound_two_step_transaction=$_POST['two_step_transaction'];
$inbound_status=$_POST['status'];
$inbound_failure_reason=$_POST['failure_reason'];
$inbound_description=$_POST['description'];
$inbound_amount=$_POST['amount'];
$inbound_currency_code=$_POST['currency_code'];
$inbound_originator_object_type=$_POST['originator_object_type'];
$inbound_originator_object_id=$_POST['originator_object_id'];
$inbound_subscription_enabled=$_POST['subscription_enabled'];
$inbound_subscription_initial_transaction=$_POST['subscription_initial_transaction'];
$inbound_subscription_id=$_POST['subscription_id'];
$inbound_is_subscription_transaction_retry=$_POST['is_subscription_transaction_retry'];
$inbound_subscription_originating_failed_transaction_id=$_POST['subscription_originating_failed_transaction_id'];
$inbound_reference_1=$_POST['reference_1'];
$inbound_reference_2=$_POST['reference_2'];
$inbound_reference_3=$_POST['reference_3'];
$inbound_custom_data=$_POST['custom_data'];
$inbound_coupon_code=$_POST['coupon_code'];
$inbound_promotion_id=$_POST['promotion_id'];
$inbound_card_first_six=$_POST['card_first_six'];
$inbound_card_last_four=$_POST['card_last_four'];
$inbound_card_type=$_POST['card_type'];
$inbound_card_issuer=$_POST['card_issuer'];
$inbound_card_issuer_country=$_POST['card_issuer_country'];
$inbound_transaction_email=$_POST['transaction_email'];
$inbound_signature=$_POST['signature'];
$api_key='8E4D3A85BC544BB8FB9EC6E4FFCA1582';
if (strlen($inbound_custom_data)==0)
{
$computed_signature=md5("$inbound_transaction_id, $inbound_status, $inbound_amount, $inbound_currency_code, $inbound_originator_object_type, $inbound_originator_object_id, $inbound_reference_1, $inbound_reference_2, $inbound_reference_3, $api_key");
}
else
{
$computed_signature=md5("$inbound_transaction_id, $inbound_status, $inbound_amount, $inbound_currency_code, $inbound_originator_object_type, $inbound_originator_object_id, $inbound_reference_1, $inbound_reference_2, $inbound_reference_3, $inbound_custom_data, $api_key");
}
if ($computed_signature===$inbound_signature)
{
echo 1;
//подпись верна, можно обработать уведомление
}