Инструменты пользователя

Инструменты сайта


Боковая колонна

===== Содержание ===== * [[:ru:|Главная]] ==== Подписки с вводом номера ==== * [[:ru:subs0:|Сотовый оператор МТС]] * [[:ru:subs1:|Сотовый оператор Beeline]] * [[:ru:subs2:|Сотовый оператор Megafon]] ==== Псевдо подписки ==== * [[:ru:subs3:|Россия - все сотовые операторы]] * [[:ru:subs4:|Украина - все сотовые операторы]] ==== МО-подписки ==== * [[:ru:subs5:|Сотовый оператор МТС]] * [[:ru:subs6:|Сотовый оператор Beeline]] * [[:ru:subs7:|Сотовый оператор Megafon]] ==== Pay-By-Click ==== * [[:ru:subs8:|Pay-By-Click]] ==== Услуги SmsCoin ==== * [[:ru:service1:|смс:ключ]] * [[:ru:service2:|смс:банк]] * [[:ru:service6:|смс:транзит]] * [[:ru:service3:|смс:донейт]] * [[:ru:service4:|смс:контент]] * [[:ru:service5:|смс:чат]] ==== WAP-click ==== *[[:ru:subs9:|WAP-click, Билайн]]

ru:service1:start

**Это старая версия документа.** ----

A PCRE internal error occured. This might be caused by a faulty plugin

====== Техническое описание "смс:ключ" ====== ===== Общая информация ===== Услуга **смс:ключ** является простым способом ограничить доступ пользователя к содержимому того или иного сетевого ресурса, доступ к которому возможен только после ввода кода (пароля). Для того чтобы получить требуемый код доступа, пользователь отправляет Premium SMS на короткий номер и получает пароль в ответном сообщении. Владелец сайта, на котором находится контент, может задать параметры, определяющие, сколько раз и в течение какого времени этот код может быть использован. Легкость установки и гибкость настройки делают **смс:ключ** предпочтительным решением для большинства сайтов. Характерными особенностями **смс:ключа** являются: * легкость и быстрота установки: стандартная интеграция занимает 5-10 минут; * простота адаптации к требованиям пользователя: возможно не только изменение внешнего вида, но и частичная или полная замена формы запроса, добавление пользовательских параметров. В [[http://smscoin.com/software/|Библиотеке готовых скриптов]] имеются многочисленные варианты применения данной услуги. Также по ходу этой статьи встречаются ссылки, демонстрирующие различые аспекты ее реализации. ===== Алгоритм работы ===== - Сетевой ресурс с ограниченным доступом предлагает пользователю ввести код доступа (пароль) или заполнить поля выбора страны/оператора для получения инструкции по отправке SMS ((Внешний вид формы может отличаться в зависимости от реализации)), которая включает в себя: * короткий номер, на который необходимо отправить SMS; * текст SMS, состоящий из: * префикса; * идентификатора **смс:ключа** (ID смс:ключа); * необязательных дополнительных данных (см. [[#Смс:ключ с удаленным обработчиком|смс:ключ с удаленным обработчиком]]). * стоимость SMS, которая в зависимости от страны может как включать, так и не включать НДС; * указание о дополнительных налогах и сборах, которые могут быть установлены в выбранной стране; * дополнительная информация: правила составления текста SMS, условия ответственности, информация о технической поддержке и пр. - Отправленное пользователем SMS-сообщение через оператора поступает на наш сервер. - Согласно тексту SMS определяется соответствующий **смс:ключ** и проверяется: * статус оплаты принятого оператором сотовой связи сообщения; * соответствие стоимости принятого SMS-сообщения и стоимости, установленной в настройках **смс:ключа** - Если проверка прошла успешно, на нашем сервере генерируется и фиксируется в базе данных уникальный, в пределах данного **смс:ключа**, код доступа. При этом также фиксируются следующие параметры: * Access limit - количество раз, которое можно использовать код, установленное в настройках **смс:ключа** на момент генерации кода; * Accessed left - равное Access limit; * Timeout - срок действия кода в минутах с момента его первого использования (ввода на сайт), установленный в настройках **смс:ключа** на момент генерации кода; * Created - дата и время генерации кода доступа. - Сгенерированный код передается оператору сотовой связи, который передает его пользователю в виде ответного сообщения. - Если используется [[#Смс:ключ с удаленным обработчиком|смс:ключ с удаленным обработчиком]], то наш сервер с помощью HTTP-запроса вызывает обработчик по URL-адресу, указанному в настройках **смс:ключа** в поле **Result URL**, и передает ему необходимые [[#Данные, передаваемые на обработчик|данные]], включая сгенерированный код. - Пользователь на сайте вводит код доступа, полученный в ответном SMS. - Введенный код проверяется на корректность. При этом: * в случае использования [[#Стандартная версия смс:ключа|стандартной версии смс:ключа]] (без удаленного обработчика) проверка осуществляется на нашем сервере; * в случае использования [[#Смс:ключ с удаленным обработчиком|смс:ключа с удаленным обработчиком]] проверка осуществляется на сервере сетевого ресурса. - Если проверка прошла успешно, пользователю предоставляется доступ к оплаченному ресурсу. - Код доступа прекращает свое действие, если было выполнено хотя-бы одно из условий ((В случае использования [[#Смс:ключ с удаленным обработчиком|смс:ключа с удаленным обработчиком]], владелец сервиса может изменить/добавить свои условия)): * либо исчерпано количество раз, которое можно использовать код; * либо истек срок действия кода. __**Примечание.**__ Генерируемый код доступа содержит в себе только цифры и буквы латинского алфавита. Соответственно, пользователь должен вводить только латинские буквы и цифры, даже если им соответствуют похожие по написанию буквы других алфавитов. ===== Добавление услуги и настройка ===== Добавление/настройка услуги **смс:ключ** производится в Панели Управления -> Услуги -> смс:ключ. После добавления услуги необходимо на сетевом ресурсе разместить клиентский код скрипта, взаимодействующий с нашим сервером и реализующий соответствующую логику. Чтобы подключить к аккаунту новый **смс:ключ**, необходимо нажать "Добавить" и заполнить предлагаемую форму. При настройке параметров **смс:ключа** следует учитывать следующие особенности: - **Адрес сайта**\\ Обязательно необходимо указать правильный адрес сайта, на котором планируется установить услугу. Этот адрес будет проверен модератором, после чего сервис заработает. - **Стоимость**\\ Выбирается тариф (по стране/оператору) равный или больший заданной стоимости. Если стоимость выше любого тарифа в одной или нескольких странах (операторах), то они исключаются из списка доступных (из [[#Тарифная сетка|тарифной сетки]]). Если стоимость превышает тарифы во всех странах, то выдается пустой список (пустая [[#Тарифная сетка|тарифная сетка]]). - **Время действия** и **Количество запросов** * Если "Время действия" установлено в 0, то действие кода доступа будет неограниченно по времени. * Если "Количество запросов" установлено в 0, действие кода будет неограниченно по количеству раз использования. * Для получения безлимитного ("вечного") кода доступа необходимо оба параметра установить в 0. - **Тип ключа**\\ Параметр необходимо задать, если ключ будет установлен на ресурсе, содержащим контент "для взрослых". В этом случае страны, в которых запрещено подключение сайтов "для взрослых", автоматически исключаются из списка доступных (из [[#Тарифная сетка|тарифной сетки]]), кроме России. - **Передача паролей**\\ Задает режим работы **смс:ключа**. Существуют два режима работы: * если не выбрано - используется [[#Стандартная версия смс:ключа|стандартная версия]]; * если выбрано - используется версия [[#Смс:ключ с удаленным обработчиком|с удаленным размещением обработчика]]. - **Адрес обработчика.**\\ Если включена **Передача паролей**, то необходимо задать URL-адрес обработчика, начинающийся с <nowiki>http://</nowiki>, на который нашим сервером передаются [[#Данные, передаваемые на обработчик|данные]] согласно [[#Реализация услуги смс:ключ с удаленным обработчиком|реализации услуги смс:ключ с удаленным обработчиком]]. - **пароль.**\\ Если включена **Передача паролей**, то необходимо задать пароль для защиты данных, передаваемых на удаленный обработчик. Задается произвольным набором символов в кодировке UTF-8 длиной, не превышающей 32 символа. - **Рассылки**\\ Этот параметр не задействован, т.е. игнорируется. **Обратите внимание!** Изменение настроек **смс:ключа** скажется только на тех пользователях, которые получат код доступа только после сохраненных изменений. ===== Стандартная версия смс:ключа ===== Эта услуга подходит для тех, кто не обладает навыками программирования или не уверен в своих возможностях. Код клиентского скрипта для использования стандартной версии **смс:ключа** доступен в Панели Управления по ссылке [[agregator:smscoin:smskey#PHP-версия скрипта по умолчанию|код ключа]] http://smscoin.com/keys/html/<идентификатор ключа>/ и имеет версии для наиболее распространенных языков программирования: * PHP * Perl * Phyton * ASP.NET __**Замечание.**__ Несмотря на то, что мы не предоставляем отдельной версии **смс:ключа** для использования на сайтах, построенных целиком на технологии Flash, также имеется [[#Версия скрипта на технологии Flash|версия скрипта на технологии Flash]] для проверки паролей ключей. Для установки стандартной версии **смс:ключа** необходимо скопировать клиентский код скрипта из Панели Управления и вставить его в самом начале страницы (без пробелов и пустых строк!), содержимое которой планируется скрыть. Все, что находится ниже этого кода, будет доступно пользователю только после отправки SMS-сообщения и активации пароля, полученного в ответном SMS.\\ Посмотреть на пример работы стандартной версии **смс:ключа** можно [[http://smscoin.com/demo/key/normal/|здесь]]. В случае, если в настройках сервиса вы указали, что ресурс "для взрослых", результат будет несколько отличаться, как показано [[http://smscoin.com/demo/key/adult/|здесь]]. ==== PHP-версия скрипта по умолчанию ==== <code> <?php ### SMS:Key v1.0.6 ### $old_ua = @ini_set('user_agent', 'smscoin_key_1.0.6'); $key_id = <ID услуги смс:ключ>; $response = @file("http://key.smscoin.com/key/?s_key=".$key_id ."&s_pair=".urlencode(substr($_GET["s_pair"],0,10)) ."&s_language=".urlencode(substr($_GET["s_language"],0,10)) ."&s_ip=".$_SERVER["REMOTE_ADDR"] ."&s_url=".$_SERVER["SERVER_NAME"].htmlentities(urlencode($_SERVER["REQUEST_URI"]))); if ($response !== false) { if (count($response)>1 || $response[0] != 'true') { die(implode("", $response)); } } else die('Не удалось запросить внешний сервер'); @ini_set('user_agent', $old_ua); ### SMS:Key end ### ?> </code> **Исправление кодировки**\\ Для исправления кодировки может понадобиться перед строкой <code> die(implode("", $response)); </code> добавить следующую строку: <code> header('Content-Type: text/html; charset=utf-8'); </code> **Установка языка интерфейса по умолчанию**\\ По умолчанию используется русский язык интерфейса. Для смены языка необходимо заменить адрес запроса в приведенном ниже коде http://key.smscoin.com/key/ на http://key.smscoin.com/language/english/key/ Вместо english можно указать любой поддерживаемый язык. Пример работы можно увидеть [[http://smscoin.com/demo/key/english/|здесь]]. **Для мобильных браузеров**\\ Для посетителей WAP-сайтов, когда вместо HTML генерируется WML-разметка, нужно изменить в приведенном ниже коде адрес запроса http://key.smscoin.com/key/ на http://key.smscoin.com/key_wml/ Пример работы можно увидеть [[http://smscoin.com/demo/key/wml/|здесь]]. **Порядок взаимодействия скрипта с нашей системой** - Скрипт выполняет GET-запрос на наш сервер по адресу http://key.smscoin.com/key/.\\ При этом, передаются следующие параметры: * s_key - ID услуги смс:ключ; * s_pair - код доступа (если введен пользователем); * s_language - язык, на котором отображается страница оплаты; * s_ip - IP адрес, с которого выполняется запрос (используется для автоматического определения страны и пр.); * s_url - строка URL-запроса (используется для передачи пользовательских параметров обратно на страницу).\\ Кроме того, дополнительно можно передать следующие параметры: * s_country - выбранная страна по-умолчанию; * s_provider - выбранный оператор по-умолчанию; * s_pure=1 - если код используется как часть пользовательской HTML-страницы (т.е. страница оплаты не будет иметь стандартное оформление).\\ В этом случае можно указать вспомогательный параметр: * s_enc - кодировка пользовательской HTML-страницы. - Согласно переданному **s_key** наш сервер осуществляет поиск записи, содержащей **s_pair**. - Для найденного кода доступа (s_pair) проверяется: * истекло ли время действия кода, прошедшее с момента его первого ввода (Accessed + Timeout); * исчерпано ли количество раз использования кода (Accessed left > 0). - Если проверка прошла успешно, то в соответствующей коду доступа записи в базе данных фиксируется следующая информация: * Accessed - дата и время первого использования кода; * IP - из параметра **s_ip**; * URL - из параметра **s_url**; * Accessed left - предыдущее значение, уменьшенное на единицу. - Ответом на GET-запрос является массив **$response**, содержащий: * единственный элемент **$response[0]='true'** - если код доступа корректный; * стандартную форму ввода кода доступа (как правило) - в противном случае. - Если введенный код доступа некорректный, то скрипт выводит на экран соответствующую стандартную форму и принудительно завершает выполнение файла, содержащего скрипт. В противном случае, выполняется код, расположенный ниже скрипта. ==== Альтернативная PHP-версия скрипта по умолчанию ==== Некоторые хостинги отключают возможность отправки GET-запроса удаленному скрипту при помощи функции file() (директива allow_url_fopen отключена). Специально для таких случаев существует альтернативная версия скрипта, приведенная ниже <code> <?php ### sms:key v1.0.6 Extended ### $key_id = идентификатор ключа; $response = do_key_check("http://key.smscoin.com/key/?s_key=".$key_id ."&s_pair=".urlencode(substr($_GET["s_pair"],0,10)) ."&s_language=".urlencode(substr($_GET["s_language"],0,10)) ."&s_ip=".$_SERVER["REMOTE_ADDR"] ."&s_url=".$_SERVER["SERVER_NAME"].htmlentities(urlencode($_SERVER["REQUEST_URI"]))); if (substr($response, 0, 4) != 'true') { die($response); } ### sms:key end ### function do_key_check ($url = '') { if (ini_get('allow_url_fopen') == 1) { $old_ua = @ini_set('user_agent', 'smscoin_key_1.0.6'); $response = file($url); @ini_set('user_agent', $old_ua); if ($response !== false) { return(implode("", $response)); } else { return('Не удалось запросить внешний сервер (1)'); } } elseif (function_exists('curl_init')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, 'smscoin_key_1.0.6_ex'); $response = curl_exec ($ch); if (curl_error($ch) == '') { return($response); } else { return('Не удалось запросить внешний сервер (2)'); } curl_close($ch); } return('Не удалось запросить внешний сервер (3)'); } ?> </code> Этот код находится [[http://smscoin.com/mediabank/examples/smskey_extended_php.zip|здесь]]. ==== PHP-версия скрипта для внедрения в дизайн страницы ==== Недостатком [[#PHP-версия скрипта по умолчанию|версии скрипта по умолчанию]] является недостаточная интеграция с дизайном сайта, на котором она используется. Существуют несколько вариантов решения этой проблемы. === Вариант 1 === Заключается в том, чтобы заменить строку <code> die(implode("", $response)); </code> на следующий код: <code> die(' <!-- ВЕРХНЯЯ ЧАСТЬ ОФОРМЛЕНИЯ --> <form action="http://'.$_SERVER["SERVER_NAME"] .$_SERVER["REQUEST_URI"].'" method="get"> <!-- ДОПОЛНИТЕЛЬНОЕ ОФОРМЛЕНИЕ И ПОЛЯ --> <input name="s_pair" type="text" value="" /> <input type="submit" value="Открыть" /></form> <!-- НИЖНЯЯ ЧАСТЬ ОФОРМЛЕНИЯ --> '); </code> Отличительными особенностями данной модификации скрипта являются: * оформление страницы целиком ложится на плечи владельца сетевого ресурса, включая вывод инструкции по отправке SMS (чтобы вывести эту инструкцию, потребуется [[#Тарифная сетка|тарифная сетка]] используемого смс:ключа), * можно добавить любые дополнительные пользовательские параметры, которые могут быть использованы ниже в коде скрипта **смс:ключа**. === Вариант 2 === Можно модифицировать стандартный скрипт следующим образом: <code> <?php // ****************** ВЕРХНЯЯ ЧАСТЬ ОФОРМЛЕНИЯ ****************** ### SMS:Key v1.0.6 ### $old_ua = @ini_set('user_agent', 'smscoin_key_1.0.6'); $key_id = <ID услуги смс:ключ>; $response = @file("http://key.smscoin.com/key/?s_pure=1&s_key=".$key_id ."&s_pair=".urlencode(substr($_GET["s_pair"],0,10)) ."&s_language=".urlencode(substr($_GET["s_language"],0,10)) ."&s_ip=".$_SERVER["REMOTE_ADDR"] ."&s_url=".$_SERVER["SERVER_NAME"].htmlentities(urlencode($_SERVER["REQUEST_URI"]))); if ($response !== false) { if (count($response)>1 || $response[0] != 'true') { echo implode("", $response); } else{ // ****************** ЗАКРЫТАЯ КЛЮЧОМ ИНФОРМАЦИЯ ****************** } } else die('Не удалось запросить внешний сервер'); @ini_set('user_agent', $old_ua); ### SMS:Key end ### // ****************** НИЖНЯЯ ЧАСТЬ ОФОРМЛЕНИЯ ****************** ?> </code> Отличительными особенностями данной модификации скрипта являются: * использование параметра **s_pure=1** (пример работы параметра можно увидеть [[http://smscoin.com/demo/key/noskin/|здесь]].); * возможность задать кодировку через параметр **s_enc** (кодировкой по умолчанию является windows-1251); * возможность использовать оформление верхней и нижней части страницы; * возможность использования CSS для оформления внешнего вида формы (CSS, используемую по умолчанию, можно скачать [[http://smscoin.com/skin/default/style.css|здесь]]); * в случае некорректного кода доступа выполнение файла не завершается принудительно. ==== Версия скрипта на технологии Flash ==== Несмотря на то, что мы не предоставляем отдельной версии **смс:ключа** для использования на сайтах, построенных на технологии Flash, ниже приведен ActionScript-код для проверки кодов доступа (паролей): <code> var key : String = new String("ID услуги смс:ключ"); var pair : String = new String("код доступа"); var loadVars : LoadVars = new LoadVars(); loadVars.onLoad = function(success : Boolean) { if(success && loadVars.toString() == "true") { // код доступа подтвержден } else { // код доступа не подтвержден } } loadVars.load("http://key.smscoin.com/key/?s_key=" + key + "&s_pair=" + pair); </code> Где: * ID услуги смс:ключ - идентификатор услуги смс:ключ; * код доступа — код доступа, введенный пользователем; * код доступа подтвержден - переход к закрытой части сайта; * код доступа не подтвержден - сообщение об ошибке или предложение ввести код доступа повторно. ===== Смс:ключ с удаленным обработчиком ===== В [[#Стандартная версия смс:ключа|стандартной версии смс:ключа]] всю работу по выдаче и проверке паролей выполняет наш сервер. При этом, услуга лишена некоторой гибкости. В версии же с удаленным обработчиком владелец сервиса получает дополнительные преимущества: * все пароли хранятся и обрабатываются на стороне владельца сервиса; * использование любых языков программирования; * полная свобода управления внешним видом услуги; * возможность изменения, в определенных пределах, принципа работы услуги; * в отправляемом пользователем SMS-сообщении появляется возможность после идентификатора **смс:ключа** добавить произвольный текст, который будет передан на обработчик (см.[[#Данные, передаваемые на обработчик]]); * владелец сервиса в меньшей степени зависим от разного рода атак на наши сервера, перебоев работы сети и т.д. Минусами услуги являются: * повышенные требования к навыкам программирования и работы с базами данных у владельцев ресурса; * задержка (до 1-2 минут) вызова обработчика. ==== Реализация услуги смс:ключ с удаленным обработчиком ==== - Владелец сервиса берет на себя организацию ограничения доступа к платному ресурсу, включая оформление и вывод инструкции по отправке SMS. - Согласно [[#Алгоритм работы|Алгоритму работы]] вызываемый обработчик **Result URL** принимает [[#Данные, передаваемые на обработчик|соответствующие данные]] и проверяет корректность принятой информации с помощью вычисления MD5-хэш строки, состоящей из соединенных через двойное двоеточие ("::") параметров **secret_code, key, pair, timeout, limit, content, country, cost_local, provider** (в указанном порядке), и сравнения полученного результата со строкой **sign_v4**. - В случае успешной проверки принятая информация, как правило, фиксируется в базе данных владельца сервиса (здесь и далее - локальной базе данных). - Введенный пользователем код доступа обрабатывается в соответствии с реализованной владельцем логикой (поиск кода в локальной базе данных, проверка лимитов и т.п.). __**Замечания.**__ - Одна локальная база данных может быть использована для нескольких услуг **смс:ключ** (разные ID). - Обработчик **Result URL** обязательно должен возвращать HTTP статус 200 OK и слово "OK" в теле ответа, даже если принятая информация некорректна. Это связано с тем, что если запрос на обработчик возвращает статус отличный от 200, то наш сервер еще дважды, примерно с минутным интервалом, будет пытаться повторить запросы. Для минимизации нагрузки на наш сервер это нежелательно. Пример исходного кода скрипта, реализующего функционал **смс:ключа** с удаленным обработчиком находится [[http://smscoin.com/mediabank/examples/smskey_remote_php.zip|здесь]]. ==== Данные, передаваемые на обработчик ==== ^ Параметр ^ Тип ^ Описание ^ |country | char(2) |Двухбуквенный код страны | |provider | char(16) |Оператор сотовой связи | |key | int |Идентификатор услуги смс:ключ | |pair | char(10) |Сгенерированный нашим сервером пароль | |timeout | int |Время жизни сгенерированного пароля (pair) в минутах | |limit | int |Количество активаций сгенерированного пароля | |content | char(128) |Текст сообщения, следующий за идентификатором услуги смс:ключ | |cost_local | float |Стоимость SMS-сообщения в локальной валюте | |sign_v4 | char(32) |MD5-хэш строки, состоящей из соединенных через двойное двоеточие ("::") параметров\\ secret_code, key, pair, timeout, limit, content, country, cost_local, provider (в указанном порядке),\\ где secret_code - значение поля "пароль." в настройках услуги смс:ключ в Панели Управления | | Пользовательские данные ||| |user_1\\ user_2\\ ...\\ user_n | |Не обязательный перечень параметров, определяемый пользователем,\\ который задается в строке **Адреса обработчика** в Панели Управления в настройках услуги.\\ Суммарное ограничение размера всех пар "поле-значение" составляет 155 символов.\\ \\ __**Внимание!**__\\ Пользовательские параметры не должны начинаться с префикса s_,\\ поскольку его использование зарезервировано для наших внутренних нужд. | ==== Типичный PHP-скрипт удаленного обработчика ==== <code> <?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($_GET as $k => $v) { $_GET[$k] = substr(trim(strip_tags($v)), 0, 250); } // service secret code // секретный код сервиса $secret_code = KEY_SECRET; // collecting required data // собираем необходимые данные $key = $_REQUEST["key"]; $pair = $_REQUEST["pair"]; $timeout = $_REQUEST["timeout"]; $limit = $_REQUEST["limit"]; $content = $_REQUEST["content"]; $country = $_REQUEST["country"]; $provider = $_REQUEST["provider"]; $cost_local = $_REQUEST["cost_local"]; $sign = $_REQUEST["sign_v4"]; // users data // пользовательские данные $user_1 = $_REQUEST["user_1"]; $user_2 = $_REQUEST["user_2"]; ... $user_n = $_REQUEST["user_n"]; // making the reference signature // создаем эталонную подпись $reference = ref_sign($secret_code, $key, $pair, $timeout, $limit, $content, $country, $cost_local, $provider); // validating the signature // проверяем, верна ли подпись if($sign == $reference) { // success, proceeding // обрабатываем полученные данные echo 'OK'; } else { // failure, reporting error // неправильно составлен запрос echo 'checksum failed'; } ?> </code> ===== Тарифная сетка ===== Тарифную сетку для услуги **смс:ключ** можно получить по следующим адресам: в формате XML: http://service.smscoin.com/xml2/key/идентификатор ключа/ или http://key.smscoin.com/xml2/key/идентификатор ключа/ в формате JSON: http://service.smscoin.com/json/key/идентификатор ключа/ или http://key.smscoin.com/json/key/идентификатор ключа/ ===== Примеры работы и готовые скрипты ===== ==== Примеры работы ==== ^ Ссылка ^ Описание ^ |[[http://smscoin.com/demo/key/normal/]] |Стандартная версия | |[[http://smscoin.com/demo/key/noskin/]] |Стандартная версия без оформления | |[[http://smscoin.com/demo/key/adult/]] |Стандартная версия с отметкой "для взрослых" | |[[http://smscoin.com/demo/key/english/]] |Стандартная версия с заданным языком по-умолчанию | |[[http://smscoin.com/demo/key/wml/]] |Стандартная версия для мобильных броузеров | |[[http://demo.sms-payment-scripts.com/]] |Услуги, реализованные с помощью [[http://smscoin.com/software/|Библиотеки готовых скриптов]] | |[[http://demo.sms-payment-scripts.com/smskey_remote/check_popup.php]] |Стандартный смс:ключ с удаленным обработчиком (без всплывающего окна) | |[[http://demo.sms-payment-scripts.com/smskey_remote/check.php]] |cмс:ключ с удаленным обработчиком c отображением инструкции в списке по странам | |[[http://demo.sms-payment-scripts.com/smskey_remote/check_popup.html]] |cмс:ключ с удаленным обработчиком c отображением инструкции во всплывающем окне | ==== Готовые скрипты ==== ^ Ссылка ^ Описание ^ |[[http://smscoin.com/mediabank/examples/smskey_extended_php.zip]] |Альтернативная PHP-версия стандартного скрипта | |[[http://smscoin.com/skin/default/style.css]] |CSS по-умолчанию | |[[http://smscoin.com/mediabank/examples/smskey_remote_php.zip]] |cмс:ключ с удаленным обработчиком | |[[http://smscoin.com/mediabank/examples/smskey_remote_php_geo.zip]]|cмс:ключ с удаленным обработчиком с автоопределением страны по IP |

ru/service1/start.1371044220.txt.gz · Последние изменения: 2020/08/21 14:12 (внешнее изменение)