Skip to main content
Version: LIFE PAY Online 1.0

Как и зачем проверять подлинность

Чтобы избежать мошеннических действий со стороны третьих лиц необходимо проверять параметр check (цифровая подпись) при обработке запроса от системы Провайдера. Цифровая подпись обеспечивает высокий уровень безопасности, так как формируется с использованием secret_key, известному лишь Вашему сервису и системе Провайдера. В случае компрометации secret_key необходимо сообщить об этом Вашему менеджеру или в техническую поддержку.

Если магазин не использует скрипт для обработки запросов от системы, то обязательно указывайте Email при создании сервиса, так как необходимо вручную проверять стоимость товара и заплаченную клиентом сумму (она будет указана в электронном письме).

Подписываемые параметры должны быть представлены в urldecoded ­формате. Например, если значение поля name будет на кириллице (что будет довольно часто), то в переменной $_POST["name"] будет содержаться urlencode($name), в то время как для подписи с нашей стороны используется $name.

Кроме параметров, участвующих в цифровой подписи, на обработчик и страницу успешной покупки приходят параметры phone_number и email, телефон и email пользователя (если Вы сделали обязательным ввод этих данных в настройках сервиса)

Если сумма платежа изменена и скрипт на стороне магазина не проверяет подлинность запроса, то возможно мошенничество со стороны недобросовестных пользователей.

caution

Внимание! Чтобы избежать мошеннических действий со стороны третьих лиц при обработке нотификации необходимо проверять:

  • соответствие переданных в нотификации значений параметров и check (цифровая подпись)
  • соответствие переданного в нотификации значения system_income и суммы платежа cost указанной при инициализации оплаты.
  • опционально можно проверять и другие параметры переданные при инициацизации оплаты, например order_id, comment.

Указанные проверки обеспечивают сверку стоимости товара/услуги с фактически уплаченной клиентом суммой. В случае несовпадения этих параметров нужно отказывать покупателю в предоставлении товара/услуги и сообщать о таких случаях по адресу acq_integration@life-pay.ru

Пример генерации подписи на PHP (version='1.0')
$data = array(
'tid' => $_POST['tid'],
'name' => $_POST['name'],
'comment' => $_POST['comment'],
'partner_id' => $_POST['partner_id'],
'service_id' => $_POST['service_id'],
'order_id' => $_POST['order_id'],
'type' => $_POST['type'],
'partner_income' => $_POST['partner_income'],
'system_income' => $_POST['system_income'],
'test' => $_POST['test'],
);
$check = md5(join('', array_values($data)) . $secret_key);