Необходимо внести доработки в существующий сайт на Java. Основная задача - изменить плеер, добавив возможность выбора качества изображения. Другие изменения будут обсуждены с исполнителем.
Разбор текста на параметры PHP
У нас реализована отправка смс на наш сервер где мы получаем содержимое СМС
Нужно отфильтровать смс на содержимое и если оно соответствует то выполнять к примеру 1+1
Вот пример текста: Пополнение, счет RUB. 1000 RUB. Ирина К. Доступно 1000.00 RUB
Цель того что необходимо:
У нас есть таблица invoice
В ней есть 2 важных колонки это ammout - (сумма) и operation_id - (номер транзакции)
В смс есть сумма - ammout и комментарий - operation_id если есть соответствие то выполняем код (к примеру 1+1) код мы сами укажем какой выполнять.
Вот пример статьи и ее содержимое https://htmlweb.ru/php/example/priem_oplati.php
Вам остается разобрать с помощью регулярного выражения полученные сообщения и произвести начисления:
if($_REQUEST['from']=='900' && $_REQUEST['type']==9 && preg_match('/Сбербанк Онлайн.* перевел(а) Вам ([\d\.]+) RUB. Сообщение: "([^\"]*)"/i',$_REQUEST['message'],$ar)){ // начисляете $ar[1] рублей пользователю по его идентификатору $ar[2] }
Для безопасности используйте подпись запросов. Для этого в профиле укажите некую случайную последовательность. Если она задана то в callBackUrl будет добавлен параметр sign, в конце всех отсортированных параметров от которых формируется md5.
define('HTMLWEB_SIGN','ВАША_СЕКРЕТНАЯ_СТРОКА');
if(empty($_REQUEST['sign']))die('Не переданна подпись, - это хакер!');
$param=$_REQUEST;
unset($param['sign']);
ksort($param);
if($_REQUEST['sign']!=md5(implode('',$param).HTMLWEB_SIGN))die('Ошибка подписи, - это хакер!');
Регулярные выражения для разбора сообщений от Сбербанка:
К сожалению, Сбербанк достаточно часто меняет формат своих СМС сообщений. Список актуальных шаблонов:
<?php
// Перевод 350р от ВИКТОРИЯ ЕВГЕНЬЕВНА Ф.\nСообщение: "5629"
define('SB_PARSE_TEMPLATE_1', '/(?:перевел|Перевод)[^\d]+([\d\.]+)[^\d]+ от .+Сообщение:\s*(?:\"|\”|")(.+)(?:\"|\”|")/iu');
// VISA6385: 22:30 зачисление 30р от отправителя ЮЛИЯ ЮРЬЕВНА Г. Сообщение: ”38638”
define('SB_PARSE_TEMPLATE_2', '/(VISA|ECMC|MAES)(\d{4})\:?\s+.*(?:перевод|зачисление|перевел)\s+([\d\.]+).+Сообщение:\s*(?:\"|\”|")(.+)(?:\"|\”|")$/ui');
//VISA9213 12.02.18 08:47 зачисление 450р Баланс: 17809.50р
define('SB_PARSE_TEMPLATE_3', '/(VISA|ECMC|MAES)(\d{4})\:?\s+.*(?:перевод|зачисление|перевел)\s+([\d\.]+)[^\d].*(?:Баланс|Остаток)\:?\s+([\d\.]+)[^d]/ui');
//VISA9699 09:06 перевод 350.00р от АЛЛА ВАЛЕРЬЕВНА Т.\\nБаланс: 50335.39р\\nСообщение: "29462"
define('SB_PARSE_TEMPLATE_4', '/(VISA|ECMC|MAES)(\d{4})\:?\s+.*(?:перевод|зачисление|перевел)\s+([\d\.]+).+(?:Баланс|Остаток)\:\s+([\d\.]+).+Сообщение:\s*(?:\"|\”|")(.+)(?:\"|\”|")$/ui');
//Перевод 700р от ЕЛЕНА АЛЕКСЕЕВНА Ш.\\nБаланс VISA9699: 22989.39р\\nСообщение: "239196"
//Перевод 1р от МИХАИЛ АЛЕКСАНДРОВИЧ П.\\nБаланс VISA9699: 27357.39р\\nСообщение: "3"
define('SB_PARSE_TEMPLATE_5', '/Перевод\s+([\d\.]+).+(?:Баланс|Остаток)\s+(VISA|ECMC|MAES)(\d{4})\:\s*([\d\.]+).+Сообщение:\s*(?:\"|\”|")(.+)(?:\"|\”|")$/ui');
// Перевод 1015р от АНАСТАСИЯ СЕРГЕЕВНА Ш.\nБаланс VISA9699: 11642.04р
define('SB_PARSE_TEMPLATE_6', '/Перевод\s+[^\d]+([\d\.]+).*Баланс\s+(VISA|ECMC|MAES)(\d{4})\:\s*([\d\.]+)[^\d]/iu');
// ECMC1374: 19:57:45 зачисление 193р. от отправителя ВЕРА СЕРГЕЕВНА Р.
define('SB_PARSE_TEMPLATE_7', '/(VISA|ECMC|MAES)(\d{4})\:.*(?:перевел|Перевод|зачисление)[^\d]+([\d\.]+)[^\d]/iu');
// ГАЛИНА ГЕННАДЬЕВНА Г. перевел(а) вам 78.00р
define('SB_PARSE_TEMPLATE_8', '/(?:перевел|Перевод|зачисление)[^\d]+([\d\.]+)[^\d]/iu');
// Перевод 350р от ВЕРОНИКА ВЛАДИМИРОВНА К.\nБаланс VISA9699: 11658.04р
define('SB_PARSE_TEMPLATE_9', '/Перевод\s+([\d\.]+)[^\d] от .*(?:Баланс|Остаток) (VISA|ECMC|MAES)(\d{4})\:?\s+([\d\.]+)[^d]/ui');
/* Шаблоны списания средств с карты
ECMC1374 11:27 перевод 6650р Баланс: 1191.13р
ECMC1374 19:36 Выдача 20000р ATM 60000976 Баланс: 7106.13р
ECMC1374 18.12.19 мобильный банк за 18.12-17.01 60р Баланс: 10738.13р
ECMC1374 02:45 Покупка 209.50р FACEBK *VGSHAQSXJ2 Баланс: 29974.71р
С Вашей карты **** 1374 произведен перевод на карту № **** 3314 на сумму 29875,00 RUB.
*/
define('SB_PARSE_TEMPLATE_99', '/(VISA|ECMC|MAES|MIR\-|С Вашей карты \*\*\*\* )(\d{4})\:?\s+.*(?:перевод|Выдача|мобильный банк|Покупка)\s+.*(?:Баланс|Остаток)\:?\s+([\d\.]+)[^d]/ui');
if (preg_match(SB_PARSE_TEMPLATE_4, $sms, $res)){
$rub = $res[3];
$cardType = $res[1];
$cardID = $res[2];
$CardBalance = $res[4];
$Mes = $res[5];
}elseif(preg_match(SB_PARSE_TEMPLATE_3, $sms, $res)){
$cardType = $res[1];
$cardID = $res[2];
$rub = $res[3];
$CardBalance = $res[4];
} elseif(preg_match(SB_PARSE_TEMPLATE_5, $sms, $res)){
$rub = $res[1];
$cardType = $res[2];
$cardID = $res[3];
$CardBalance = $res[4];
$Mes = $res[5];
} elseif(preg_match(SB_PARSE_TEMPLATE_2, $sms, $res)){
$rub = $res[3];
$Mes = $res[4];
$cardType = $res[1];
$cardID = $res[2];
} elseif (preg_match(SB_PARSE_TEMPLATE_1, $sms, $res)){
$rub = $res[1];
$Mes = $res[2];
} elseif (preg_match(SB_PARSE_TEMPLATE_6, $sms, $res)){
$rub = $res[1];
$cardType = $res[2];
$cardID = $res[3];
$CardBalance = $res[4];
} elseif (preg_match(SB_PARSE_TEMPLATE_7, $sms, $res)){
$rub = $res[3];
$cardType = $res[1];
$cardID = $res[2];
} elseif (preg_match(SB_PARSE_TEMPLATE_8, $sms, $res)){
$rub = $res[1];
} elseif (preg_match(SB_PARSE_TEMPLATE_9, $sms, $res)){
$rub = $res[1];
$cardType = $res[2];
$cardID = $res[3];
$CardBalance = $res[4];
} elseif( preg_match(SB_PARSE_TEMPLATE_99, $sms, $res)){ // списание с карты
if(strlen($res[1])==4)$cardType = $res[1];
$cardID = $res[2];
$CardBalance = $res[3];
$rub = 0;
echo "Сбербанк списание";
} else {
// Сбербанк опять поменял формат СМС сообщений!
}
?>
Выбранный исполнитель
Заявки фрилансеров
Похожие заказы
- Веб-программирование1 заявкаЗакрытгод назад
Разработать веб-страницу с формой, включающей поля: имя, телефон, email, Город и Услуга. Реализовать отправку данных в amoCRM через PHP, создание контактов и сделок, а также обработку повторных заявок. Использовать стек PHP и jQuery для работы с API amoCRM.
Веб-программирование3 заявкиЗакрытгод назад- $50
Требуется извлечь табличные данные с сайта, доступ к которому осуществляется по логину и паролю. Сайт использует HTML, JavaScript и AJAX. Необходимо разработать скрипт для получения сводных данных из 6 табличек, расположенных в трех разделах меню, и интегрировать его в код на Python. Ожидается понимание работы с динамическим контентом и возможность упрощения процесса извлечения данных.
Веб-программирование6 заявокЗакрытгод назад - $4
Требуется питонист для проверки короткого кода Python (до 30 строк), который подключается к БД и вебсокету. Необходимо выявить причины, по которым данные из вебсокета не записываются в БД. Код работает отдельно, но не реагирует при запуске вместе. Бюджет ограничен.
Веб-программирование1 исполнительЗавершенгод назад - $3
Требуется разработать таймер на странице с отсчетом времени в 30 минут. Стартовая дата для отсчета указана в формате БД: 2024-Jan-13 16:47:04. Пример реализации можно найти по предоставленным ссылкам.
Веб-программирование3 заявкиЗакрытгод назад Необходимо доработать существующий P2P шлюз для автоматической обработки входящих SMS. При получении сообщения система должна распознавать 6-значный комментарий и отправлять данные в базу MySQL, изменяя статус платежа с 1 на 2. Задача включает программирование и интеграцию с текущей системой.
Веб-программированиенет заявокЗакрытгод назад- $35
Необходимо добавить новый реестр в кабинет модератора с условиями выборки записей из таблицы 1 для модерации. Также требуется сохранить изменения в таблицу 3, создать связи между записями из таблицы 2 и новым реестром, сохраняя их в другую таблицу (таблица 2). Техническое задание с детальными описаниями будет предоставлено.
Веб-программирование1 исполнительЗакрытгод назад - $10
Требуется доработка существующего PHP-скрипта: добавить функции, реализовать AJAX для получения ответа без перезагрузки, а также переписать таймер на JavaScript. Необходимо учитывать формат даты в базе данных и добавить 30 минут к времени. Ожидается выполнение работы за максимум 1 час. Рассматриваются только предложения для немедленного выполнения.
Веб-программирование4 заявкиЗакрытгод назад Необходимо настроить коннектор Apimonster для автоматического сбора лидов в Google таблицы. Задача включает интеграцию заявок с нескольких сайтов, обработку звонков из телефонии с расшифровкой и отправку заявок партнерам через вебхук или API. Требуется опыт в веб-программировании и интеграции данных.
Веб-программированиенет заявокЗакрытгод назадИщется разработчик для создания веб-платформы, позволяющей пользователям оформлять заказы на парсинг данных. Платформа должна включать пользовательскую панель для оформления заказов и отображения результатов, а также административную панель для управления заказами и их статусами. Функциональные требования: регистрация, управление доступом, интуитивный интерфейс, возможность фильтрации и сортировки данных.
Веб-программирование11 заявокЗакрытгод назад