смс:банк

смс:банк

Не уверены, какую услугу выбрать? Обратитесь к странице сравнения наших услуг!

Также обратите внимание на готовые скрипты.

Техническое описание

Реализация смс:банка напоминает по своей структуре платежный шлюз; пользователь инициирует транзакцию, заполняя форму, расположенную у вас на сайте, после чего производит собственно платеж, отправляя на указанный номер определенным образом составленное сообщение. Можно выделить как минимум три необходимых составных части такой реализации:

  • Форма, инициирующая транзакцию (одна или несколько);
  • Страницы на вашем сайте, куда пользователь попадет с нашего шлюза после благополучного завершения процесса оплаты или отмены оплаты (Success URL и Fail URL соответственно);
  • Адрес обработчика на вашем сайте, куда с нашего сервера передаются параметры каждого смс-сообщения, полученного для вашего смс:банка (Result URL); в отличие от Fail URL и Success URL, пользователи на этот адрес не переходят, здесь должен находиться скрипт.
Обратите внимание, что для установки смс:банка вам в любом случае понадобится использовать один из скриптовых языков (например, PHP).

Детали реализации

Форма, инициирующая транзакцию

Пример HTML-разметки формы, дающей пользователю возможность инициировать транзакцию, приведен ниже.

<form action="http://bank.smscoin.com/bank/" method="POST">
<input name="s_purse" type="hidden" value="1" />
<input name="s_order_id" type="hidden" value="1234" />
<input name="s_amount" type="hidden" value="0.1" />
<input name="s_clear_amount" type="hidden" value="0" />
<input name="s_description" type="hidden" value="Демонстрационный платеж" />
<input name="s_sign" type="hidden" value="0123456789abcdef0123456789abcdef" />
<input type="submit" value="Pay" />
</form>

Ваша имплементация может существенно отличаться от приведенной здесь. Вы также можете добавить свои поля к данной форме, но серверу так или иначе должны быть переданы следующие параметры:

 

Внимание! При объявлении нового параметра в форме оплаты, пожалуйста, не используйте префикс S_, поскольку он зарезервирован за проектом SmsCoin и не может быть использован при введении новых параметров.
Параметр Тип Описание
s_purse int Идентификатор вашего смс:банка в системе
s_order_id int Идентификатор операции (произвольное число, служит для соотнесения инициированной транзакции с ее результатом)
s_amount float Сумма транзакции, USD
s_clear_amount int(1) Алгоритм подсчета стоимости услуги для пользователя. Если 0, то значение s_amount представляет собой конечную стоимость для пользователя. Иначе значение s_amount выражает ожидаемую вами прибыль от операции; стоимость для каждого пользователя будет варьироваться в зависимости от действующих тарифов и условий приема сообщений местными сотовыми операторами.
s_description char(127) Описание операции (произвольная строка длиной не более 127 символов, служит для удобства разграничения целевых платежей). Обрабатывается как UTF-8.
s_sign char(32) MD5-хэш строки, состоящей из соединенных через двойное двоеточие ("::") параметров s_purse, s_order_id, s_amount, s_clear_amount, s_description и secret_code (в указанном порядке), где secret_code - секретный ключ Вашего смс:банка.
В случае, если указанная в параметре s_amount сумма превышает максимальный доступный в той или иной стране тариф, такая страна автоматически исключается из списка стран, обслуживаемых вашим смс:банком.

Настройка языка интерфейса

По умолчанию все наши сервисы используют русский язык; в том случае, если часть ваших пользователей не является русскоязычной, или вы по каким-то другим причинам решили сменить используемый язык сервиса, просто измените адрес запроса в приведенном выше коде

с

http://bank.smscoin.com/bank/

на

http://bank.smscoin.com/language/english/bank/

Вместо english можно указать любой из поддерживаемых системой языков.

Страницы выяснения статуса платежа

Страницы выяснения статуса платежа принимают от сервера следующие параметры:

Параметр Тип Описание
s_purse int Идентификатор вашего смс:банка в системе
s_order_id int Идентификатор операции (произвольное число, служит для соотнесения инициированной транзакции с ее результатом)
s_amount float Точное значение транзакции, с учетом алгоритма работы (см. ниже), USD
s_clear_amount int(1) Алгоритм подсчета стоимости услуги для пользователя. Если 0, то значение s_amount представляет собой конечную стоимость для пользователя, иначе - значение s_amount выражает ожидаемую Вами прибыль от операции; стоимость для каждого пользователя будет варьироваться в зависимости от действующих тарифов и условий приема сообщений местными сотовыми операторами.
s_status int(1) Статус платежа: 1 - прошел, 0 - не прошел.
s_sign char(32) MD5-хэш строки, состоящей из соединенных через двойное двоеточие ("::") параметров secret_code, s_purse, s_order_id, s_amount, s_clear_amount и s_status (в указанном порядке), где secret_code - секретный ключ вашего смс:банка.

Обработчик статуса платежа

Обработчик статуса платежа принимает от сервера следующие параметры:

Параметр Тип Описание
s_purse int Идентификатор вашего смс:банка в системе
s_order_id int Идентификатор операции (произвольное число, служит для соотнесения инициированной транзакции с ее результатом)
s_amount float Точное значение транзакции, с учетом алгоритма работы (см. ниже), USD
s_clear_amount int(1) Алгоритм подсчета стоимости услуги для пользователя. Если 0, то значение s_amount представляет собой конечную стоимость для пользователя, иначе - значение s_amount выражает ожидаемую Вами прибыль от операции; стоимость для каждого пользователя будет варьироваться в зависимости от действующих тарифов и условий приема сообщений местными сотовыми операторами.
s_inv int Порядковый номер операции в системе
s_phone char(32) Номер телефона, с которого было проведено подтверждение операции
s_sign_v2 char(32) MD5-хэш строки, состоящей из соединенных через двойное двоеточие ("::") параметров secret_code, s_purse, s_order_id, s_amount, s_clear_amount, s_inv и s_phone (в указанном порядке), где secret_code - секретный ключ вашего смс:банка.

 

Примеры реализации

Пример работы сервиса можно увидеть здесь.

Скачать исходный код на PHP, Perl, ASP.NET, Python.

Пример кода работающего с тарифной сеткой в форматах XML и JSON можно скачать здесь.

Обратите внимание: примеры носят иллюстративный характер, поэтому без доработки под конкретный случай применять их на практике не рекомендуется.

Часто задаваемые вопросы

Я перехожу по адресу, указанному в настройках сервиса, и вижу сообщение об ошибке.

По адресу, указанному в настройках сервиса, переходить не нужно; вместо этого адрес должен быть указан в параметре action формы, инициирующей транзакцию. Код, генерирующий форму, содержится в примерах кода (см. выше).

В списке на странице оплаты нет ни одной страны.

Проверьте, что указанная в форме стоимость соответствует допустимым тарифам в выбранных странах (стоимость смс не может быть больше, чем максимальный доступный тариф для каждой страны).

Как я могу добавить в форму инициализации транзакции дополнительные пользовательские поля?

Данная возможность интегрирована изначально. Поля, приведенные в форме инициации транзакции в примере, — это необходимый минимум. Вы можете добавить к форме и свои поля, которые будут переданы на ваш сервер в ответе. Если ваш номер заказа содержит буквенные символы или превышает int, передавайте его дополнительным полем. Суммарное ограничение размера всех пар "поле-значение" составляет 155 символов.

Добавляю банк, непонятно какие адреса нужно вводить в поля Success URL и Result URL.

Fail URL — это адрес на вашем сайте, куда пользователь попадет с нашего шлюза в случае отмены оплаты;
Success URL — это адрес на вашем сайте, куда пользователь попадет с нашего шлюза после благополучного завершения процесса оплаты;
Result URL — это адрес обработчика на вашем сайте, куда с нашего сервера передаются параметры каждого смс-сообщения, полученного для вашего смс:банка, в отличие от Fail URL и Success URL пользователи на этот адрес не переходят, здесь должен находиться скрипт.

Share |

Свяжитесь с нами

Техническая поддержка

E-mail: supportsmscoin.com
Jabber: support@smscoin.com
ICQ: 429853174

Общая поддержка

E-mail: infosmscoin.com
ICQ: 378155028

Телефоны и факс >>