
смс:сейф
Не уверены, какую услугу выбрать? Обратитесь к странице сравнения наших услуг!
Также обратите внимание на готовые скрипты.
Техническое описание
Система состоит из двух частей - клиентской, установленной на Вашем сайте, и серверной, являющейся частью нашей инфраструктуры. Связь между частями осуществляется через передачу GET-запросов от сервера к клиенту.
С каждым полученным сообщением серверная часть передает запрос на клиентскую, предоставляя таким образом конечному пользователю возможность отслеживать состояние своей сессии. Оплата считается завершенной только в случае получения всех сообщений от пользователя, и новая сессия не будет открыта, пока не закрыта предыдущая. В целях безопасности и для предотвращения "фрода" (отправки смс, которые впоследствие будут отменены оператором) существует опция задержать отправку последнего сообщения. Рекомендуемое время задержки - 24 часа.
На всех этапах оплаты конечный пользователь получает детальные инструкции:
- первое сообщение "сообщение принято, сессия X открыта"
- любое последующее "сообщение принято, сессия X"
- предпоследнее "сообщение принято, сессия X, не шлите больше смс в течении H часов и M минут"
- последнее "сообщение принято, сессия X закрыта"
- сообщение отправленное в период ожидания "ошибка. сообщения с таким текстом не принимаются в течении H часов и M минут"
Настройка клиентской части достаточно проста, хоть и требует навыков работы с сайтом и хостингом. Для того, чтобы написать, что выполнять после подтверждения платежа, требуются знания PHP и понимание конечной цели платежа.
Системные требования
PHP >= 4.3
Поддерживаемые базы данных
MySQL - требует установленного модуля MySQL;
SQLite - требует установленного модуля SQLite;
PDO:SQLite (объектно-ориентированная версия) - требует установки модулей PDO и SQLite (как правило, установлены с PHP >= 5.1).
Как установить
- распаковать файлы;
- изменить /lib/config.php;
- выставить права на запись на /lib/local.xml;
- выставить права на запись на /lib/safe_db (только при использовании SQLite);
- выставить права на запись на директорию /lib (только при использовании SQLite);
- запустить setup.php и удалить его;
- запустить cron.php;
- настроить свой скрипт в соответствии с примером в check.php;
- настроить сам сейф в панели управления, указав полный путь к result.php и секретный пароль из конфига;
- в /lib/config.php в функции do_action() пропишите тот код, который должен выполнятся при подтверждении оплаты и закрытии сессии.
Комплектация
- /lib/sql/ - директория с файлами подключения к базе;
- /lib/config.php - конфигурационный файл, содержащий также базовые функции;
- /lib/safe_db - сама база (только при использовании SQLite);
- /lib/local.xml XML файл со всеми тарифами;
- /check.php - пример содержащий необходимый код для показа и проверки паролей;
- /cron.php - файл отвечает за обновление /lib/local.xml , можно запускать как вручную, так и используя CRON;
- /result.php - файл отвечает за прием паролей с нашего сервера;
- /select.php - файл просмотра списка сессий, логин и пароль к нему указываются в /lib/config.php;
- /setup.php - создает необходимые таблицы в базе;
- /style.css - файл стилей для check.php.
Важные моменты
- одна база может быть использована для целого ряда сейфов;
- При обновлении XML файла, если наш сервер недоступен, файл не обновляется и используется текущая копия. Учитывая, что тарифы меняются редко, это не повлияет на работу сайта.
Скачать клиентскую часть