Robokassa — система электронных платежей

Рано или поздно любой веб-мастер столкнется с необходимостью использовать на своем или сайте клиента систему приема электронных платежей. Различных систем большое множество, можно использовать каждую в отдельности, но все же лучше воспользоваться уже готовым сервисом. Мой взгляд остановился на системе приема платежей под названием Робокасса (http://robokassa.ru/).

Прелесть данной системы в следующем:

  1. Принимает платежи практически всеми известными способами (от SMS-сообщений до MasterCard);
  2. Небольшая комиссия, которую можно возложить либо на клиентов, либо платить самому — 5%;
  3. Удобная система отчетов о проведенных, отмененных и замороженых платежах;
  4. Система работает как с юридическими лицами, так и физическими;
  5. Адекватная техподдержка.

Для начала пройдите регистрацию и заполните все необходимые поля. Выполните все требования робокассы и мы приступим к самому интересному, к настройке счета и скриптов. Я показывать вам буду на примере моего проекта — сервиса объявлений.

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

robokassa

С паролями все ясно. Нас интересуют поля с методами отправки и URLами. Сразу оговорюсь, что не так важно какой метод отправки вы выберите, но все же лучше метод POST. А вот URLы имеют самое важное значение. У меня на сайте за проведение всех денежных операций пользователей отвечает 1 страница, которая меняется в зависимости от передаваемых ей данных. Именно поэтому каждый URL имеет похожее значение, где меняется только переменная act. Именно эта переменная будет передавать нашему серверу значение о том, в какое состояние перешел платеж. Вы можете настроить все по своему, но главное чтобы смысл вам был понятен. В зависимости от значения данной переменной мы будем запускать тот или иной скрипт.

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

 

Данная форма позволит нам выбрать, сколько очков мы будем покупать — 1 очко стоит 30 рублей. Таким образом выбрав 4 очка мы купим их за 120 рублей. В поле Общая стоимость выводится сразу сумма средствами JS (мы не будем здесь показывать как это делать, урок не о том). После нажатия на кнопку Продолжить оплату, пользователь передаст номер заказа, свой ID, сумму покупки скрипту, который выполняется на этой же странице.

При получении всех данных срабатывает следующий скрипт:

 

В поля $mrh_login, $mrh_pass1 для начала оставьте те, что даны для тестового сервера, а после отладки всей системы смените на свои. Обратите внимание на переменную $crc, она необходима для того, чтобы передать серверам Робокассы зашифрованную подпись, без которой не пройдет платеж. Так же посоветую использовать свою базу для хранения всех заказов, как это сделано у меня. Так вам проще будет отследить кто оплатил, статус его платежа, дату и время и в случае какого-нибудь сбоя робокассы (или своих неверных настроек) вы сможете безболезненно все исправить.

Теперь распакуйте все скачанные с робокассы файлы, из всех файлов нам понадобятся: result.php, success.php, fail.php. Эти файлы содержат всю необходимую информацию о проведении оплаты. Давайте подключим их опять же к нашему же файлу:

 

Обратите внимание, в зависимости от того, какое значение мы передали переменной act у нас грузится соответствующий файл — вот в этом и была вся идея. Если мы получили значение 1, то значит платеж прошел успешно, мы получили деньги и соответственно можем плательщику начислить очки, а сам заказ перевести в состояние исполненных. Если 2, то в базе пишем, что пользователь отказался от платежа. act=3 вы вряд ли когда увидите, хотя он соответственно проходит и сразу же запускает нам условие равное 1, т.е. это промежуточный шаг который в основе своей оповещает только администратора.

Рассмотрим структуру каждого файла в отдельности. fail.php:

 

Тут все просто, если пользователь отказался от платежа то мы просто выводим ему это на экран.

success.php:

 

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

result.php:

 

Как уже говорилось выше, это промежуточный файл, который при отсутствии проблем в системе вернет вам переменную act=1.

Причем обратите внимание, что мы используем введенные нами при регистрации пароли практически во всех исполнительных файлах. В каждом файле свой. Это сделано с целью безопасности системы приема платежа и вашего личного кабинета в системе Робокасса.

Я вам показал лишь пример работы с фиксироваными ценами, таким же образом можно сделать систему приема донатов или настроить интернет-магазин. Хочется пожелать вам удачи с этой системой, внимательно все заполняйте и продумывайте систему, чтобы потом не испытать гнев обманутых пользователей. Подробнее о выплатах вы уже можете прочитать на сайте Робокассы.

.

Some time ago a friend of mine was https://www.pro-essay-writer.com on a television talk show with several other mystery writers, mickey spillane among them
Вы можете оставить ответ, или trackback с вашего сайта.

Leave a Reply

Надо сделать сайт? Мы выгодно сделаем сайт! ©