Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

У нас реализована отправка смс на наш сервер где мы получаем содержимое СМС
Нужно отфильтровать смс на содержимое и если оно соответствует то выполнять к примеру 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

  1. Вам остается разобрать с помощью регулярного выражения полученные сообщения и произвести начисления:

    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 {
    // Сбербанк опять поменял формат СМС сообщений!
}
?> 
6 месяцев назад
ksafreelance
Сергей 
26 летРоссия
год в сервисе
Был
5 месяцев назад
3 отзыва
Выбранный исполнитель
goesbyzhukov
Юрий 
36 летЛюксембург
6 месяцев в сервисе
Был
5 месяцев назад
2 отзыва(-1)
6 месяцев назад
$10
1 день
RUBUSDT
Сделал все быстро, а так же помог с рекомендациями. Весь код понятный и с комментариями. В процессе переписки было приятно работать с человек, быстро вникает в суть задачи. Будем работать теперь постоянно!
все ок, чел приятный)) энтузиаст))) желаю успехов!