Чтобы избежать мошеннических действий со стороны третьих лиц необходимо проверять параметр check (цифровая подпись) при обработке запроса от системы Провайдера. Цифровая подпись обеспечивает высокий уровень безопасности, так как формируется с использованием secret_key, известному лишь Вашему сервису и системе Провайдера. В случае компрометации secret_key необходимо сообщить об этом Вашему менеджеру или в техническую поддержку.
Если магазин не использует скрипт для обработки запросов от системы, то обязательно указывайте Email при создании сервиса, так как необходимо вручную проверять стоимость товара и заплаченную клиентом сумму (она будет указана в электронном письме).
Подписываемые параметры должны быть представлены в urldecoded формате. Например, если значение поля name будет на кириллице (что будет довольно часто), то в переменной $_POST[“name”] будет содержаться urlencode($name), в то время как для подписи с нашей стороны используется $name.
Кроме параметров, участвующих в цифровой подписи, на обработчик и страницу успешной покупки приходят параметры phone_number и email, телефон и email пользователя (если Вы сделали обязательным ввод этих данных в настройках сервиса)
Если сумма платежа изменена и скрипт на стороне магазина не проверяет подлинность запроса, то возможно мошенничество со стороны недобросовестных пользователей.
Внимание! Чтобы избежать мошеннических действий со стороны третьих лиц при обработке нотификации необходимо проверять:
- соответствие переданных в нотификации значений параметров и 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); |