Файл: sms.php
Строк: 48
<?php
// the function returns an MD5 of parameters passed
// функция возвращает MD5 переданных ей параметров
function ref_sign() {
$params = func_get_args();
$prehash = implode("::", $params);
return md5($prehash);
}
// filtering junk off acquired parameters
// парсим полученные параметры на предмет мусора
foreach($_REQUEST as $request_key => $request_value) {
$_REQUEST[$request_key] = substr(strip_tags(trim($request_value)), 0, 250);
}
// service secret code
// секретный код сервиса
$secret_code = "007811";
// collecting required data
// собираем необходимые данные
$purse = $_REQUEST["s_purse"]; // sms:bank id идентификатор смс:банка
$order_id = $_REQUEST["s_order_id"]; // operation id идентификатор операции
$amount = $_REQUEST["s_amount"]; // transaction sum сумма транзакции
$clear_amount = $_REQUEST["s_clear_amount"]; // billing algorithm алгоритм подсчета стоимости
$inv = $_REQUEST["s_inv"]; // operation number номер операции
$phone = $_REQUEST["s_phone"]; // phone number номер телефона
$sign = $_REQUEST["s_sign_v2"]; // signature подпись
// making the reference signature
// создаем эталонную подпись
$reference = ref_sign($secret_code, $purse, $order_id, $amount, $clear_amount, $inv, $phone);
// validating the signature
// проверяем, верна ли подпись
if($sign == $reference) {
// success, proceeding
// обрабатываем полученные данные
} else {
// failure, reporting error
// неправильно составлен запрос
}
?>