Сервис отправки SMS-сообщений с подменой номера для зарегистрированных и незарегистрированных пользователей.
Смотрите пример
http://xn----8sb3agyb.net/
Реализация:
Написан на PHP под управлением Zend Framework.
Используется БД MySql/jQuery (Необходим Cron на хостинге)
Дизайн:
Дизайн + вёрстка - в скрипт включены.
ОПИСАНИЕ и ВОЗМОЖНОСТИ СКРИПТА:
- Отправка склеенных сообщений (2 и более сообщения в одном)
- Всплывающие подсказки для каждой из функции/формы отправки смс, оплаты, платежки и прочее
- Реализованные на jQuery страницы faq/новости Админская часть
- Редактор пользовательских профилей (создание/удаление/изменение данных включая корректировку баланса)
- Заказы пользователей + статусы оплат
- История сообщений зарегистрированных/незарегистрированных пользователей
- Управление (редактирование) списком стоп-слов/имён/номеров
- Управление случайными СМС-сообщениями, которые выводятся на страницах сайта вверху (случайные смс можно вставлять в форму сообщений)
- Пополнение баланса (WebMoney - R/Z). Изначально был реализован RoboxChange, OnPay, SmsZamok (первые два отказались работать с подобными скриптами на данный момент. А SmsZamok - не производил выплаты более 1 года, потому также отключен.
Пользователям:
- Заказы и статусы оплат
- История отправленных сообщений
- Пополнение баланса
Прочее:
- Форма обратной связи с использованием Captcha (проверочный код)
- Интеграция с шлюзом отправки смс-сообщений (сайт, после регистрации на котором Вы связываете свой скрипт с ним. Лично я плачу за СМС 5 центов, отправка на моем ресурсе по 15. Вы сами устанавливаете стоимость 1-го сообщения для пользователей, а также комиссию для той или иной валюты и платежной системы отдельно)
Все изменения касательно интеграций с платежками, шлюзами, курсы валют а также комиссия системы редактируется вручную в конфиге сайта.
1. Комментарии к реализации
1.1. Платежи
Реализован единый интерфейс по работе с платежными системами, что максимально упрощает подключение новых систем. Независимо от системы, все предзапросы и оповещения о платежах должны направляться на /payment/result, а оповещение об успехе/неудаче на /index/payment-success и /index/payment-fail. Предполагается, что все положительные транзакции соответствуют либо пополнению баланса зарегистрированным пользователем (сохраняется ссылка на пользователя), либо оплате за sms незарегистрированным пользователем (сохраняется ссылка на sms), а отрицательные соответствуют отправке смс зарегистрированным пользователем(сохраняется ссылка на смс и пользователя). Так же по разным платежным системам сохраняется специфическая информция (для WM это например LMI_SYS_INVS_NO и тд) в отдельную таблицу.
При получении платежа система переводит его в USD по указанному курсу, если это необходимо, а затем вычитает комиссию. Полученная сумма ложится на баланс либо проверяется, хватает ли ее на отправку SMS (для незарегистрированного пользователя).
1.2.SMS
Реализован единый интерфейс по работе с SMS шлюзами, что позволит в случае чего легко поменять шлюз. Реализовано получение баланса с SMS шлюза и проверка, хватает ли средств на отправку.