Каталог решений - Платежи через RoboKassa из web-приложения OneScript

Платежи через RoboKassa из web-приложения OneScript

Платежи через RoboKassa из web-приложения OneScript

В наличии

В статье рассмотрен пример организации платежей из web-приложения OneScript через платежную систему RoboKassa

Категория:

Описание

Введение

Поводом для написания настоящей статьи явилось обсуждение публикации Создаем сайт ресторана на OneScript, в ходе которого, несколько пользователей попросили привести пример подключения платежного сервиса (интернет-эквайринга), для осуществления оплат из web-приложения.

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

Описание

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

Со страницы своего сайта Вы осуществляеете POST или GET запрос с переходом на страницу оплаты платежной системы, которая находится у владельца платежной системы (фактически производится переход на сайт платежной системы). При этом, в параметрах запроса передается сумма оплаты, валюта etc.

На странице оплаты, пользователь вводит необходимые для оплаты реквизиты (номер карты, CVC-код etc.) и осуществляет оплату.

Если оплата прошла успешно, пользователь перенаправляется на страницу вашего сайта, указанную в качестве страницы для успешных платежей в настройках платежной системы.

Если оплата завершилась неудачей, пользователь перенаправляется на страницу, указанную как страница для неудачных оплат.

У некоторых платежных систем есть сервис, оповещающий об успешном завершении платежа, посредством отправки http-запроса на url, указанный в настройках.

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

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

Реализация

Создадим и настроим тестовое приложение, в соответствии с публикациями //sale.itcity.ru/public/789679/ и //sale.itcity.ru/public/841785/ .

Зарегистрируем аккаунт в платежной системе, создадим магазин и заполним необходимые параметры.

Библиотека для работы с платежной системой

Как и в большинстве платежных систем, оплата в нашей экспериментальной системе осуществляется посредством отправки POST или GET запросов на определенный url, с переходом пользователя на страницу оплаты. Данная система позволяет выполнять запросы двумя способами:

Выполнение javascript-скрипта, который отрисовывает необходимый элемент управления.

Создание пользовательской формы ввода, которая при нажатии на кнопку submit, осуществляет соответствующий http-запрос к платежной системе и осуществляет переход на страницу оплаты.

Для реализации библиотеки, создадим подсистему БиблиотекаРобокасса, в которую мы будем добавлять все объекты конфигурации, связанные с библиотекой, а также обработку ПлатежРобокасса, которая будет реализовывать необходимый функционал. Добавим обработку также в подсистему ОбъектыКонфигурацииWebПриложения т.к. мы будем использовать из OneScript. Аналогично следует поступать и с другими объектами, которые мы будем использовать в OneScript.

Добавим необходимые параметры в качестве переменных и реквизитов таким образом, что наша обработка примет нижеследующий вид:

 

has been added to your cart:
Оформление заказа