Лёгкие платежи

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

Основная идея.

Суть «лёгких» платежей в полной интеграции платёжной формы на сайт продавца и минимизация действий, требующихся от пользователя для оплаты. В идеале - нажатие одной кнопки. Мы создали своего рода конструктор. Продавец может на основе полученного от нас кода далее свободно модифицировать внешний вид и все остальные параметры формы, достигая нужного внешнего вида своего сайта. Продавец сам выбирает в какой точке на шкале «сложность - гибкость» будет находиться платёжная форма. Он может сделать вообще одну большую кнопку «Заплатить», а может сделать много кнопок с платёжными системами, с вводом email, назначения платежа, суммы и т.п. В общем, существующие наши платёжные формы находятся в том конце шкалы, где гибкость и сложность достигают максимума. Продавец может сделать так же.

Безопасность.

«Лёгкие» платежи - это всего лишь особый вид платёжной формы. Они абсолютно не затрагивают балансы продавцов и поэтому даже найдя уязвимость, злоумышленник не сможет сделать ничего плохого, кроме создания неправильного платёжного ордера. Впрочем, это не значит, что мы плевали на безопасность. Всё о чём вспомнили - продумали.

Процесс подключения мерчанта к "лёгким" платежам.

Продавцу понадобится специалист, как минимум знакомый с HTML, CSS и JavaScript. Минимальное внедрение требует знания как и в какое место вставить HTML код. Кастомизация внешнего вида под сайт продавца и настройка правильной передачи адреса электронной почты пользователя и назначения платежа потребует знаний CSS и JavaScript.

Мерчант заходит в зелёном кабинете во вкладке «Настройки магазина» в подвкладку «Легкие платежи». Там он видит генератор кода, в котором указывает следующие настройки для генерируемого кода: E-mail - E-mail плательщика, который будет передаваться при «лёгких» платежах по-умолчанию. Может быть переопределён в коде в дальнейшем программистом мерчанта Платеж за - pay_for оно же «назначение платежа». Может быть переопределён в коде в дальнейшем программистом мерчанта Свой css - галочка означает, будет ли подтягиваться с сайта onpay.ru некоторые базовые CSS определения чтобы платёжная форма не выглядела уж совсем уныло. Рекомендуется для ознакомления со сгенерированным кодом. Продвинутые программисты мерчанта могут снять галочку и написать полностью свой CSS. Это не так уж и сложно. За основу можно взять наш.

После нажатия кнопки «Построить код» в текстовом поле появляется сгенерированный для данного конкретного мерчанта с учётом выбранных параметров код.

Этот код мерчант должен вставить на страницу своего сайта в то место, где он хочет видеть платёжную форму

Технические нюансы

1. Комиссия платёжной системы всегда берётся с мерчанта, то есть, если пользователь введёт «100», он заплатит «100», а продавец получит меньше. Это сделано потому, что плательщик должен ввести сумму «100» и увидеть в платёжной системе «100», куда его тут же перебросит. 2. В код обязательно должен подставляться Email плательщика (это несложно для программиста продавца). То же и с назначением платежа. Если продавец хочет для каждого платежа конкретный pay_for, он должен модифицировать сгенерированный код. 3. Лёгкие платежи недоступны для платёжных некоторых систем, при их выборе показывается обычная платежная форма.

Комментарии по коду

Генерируемый код выглядит примерно так:

<!– Контейнер для ошибок –> <div id='onpay_errors'></div> <!– Контейнер всего комплекта элементов –> <div class='onpay_pay'>

<!-- Форма с выбранной платёжной системой, суммой и дополнительными параметрами -->
<div class='onpay_form'>
<!-- Выбранная платёжная система -->
<div class='onpay_selected_paysystem'>
<img alt="Empty" height="50" id="onpay_paysystem_emblem" src="https://secure.onpay.ru//assets/empty.gif" width="100" />
</div>
<!-- Форма -->
<form accept-charset="UTF-8" action="https://secure.onpay.ru/easy_payments/pay" id="onpay_form" method="post">
<div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div>
<input id="onpay_recipient" name="onpay[recipient]" type="hidden" value="onpay" />
<!-- Подставить значение уникального email плательщика -->
<input id="onpay_email" name="onpay[email]" type="hidden" value="am@onpay.ru" />
<!-- Подставить значение уникального назначения платежа -->
<input id="onpay_pay_for" name="onpay[pay_for]" type="hidden" value="asd" />
<div class='onpay_control_group'>
<label for="onpay_pay_amount">Сумма</label>
<input id="onpay_pay_amount" name="onpay[pay_amount]" size="30" type="text" />
<label for="onpay_from">Выберите платежную систему</label>
<select id="onpay_from" name="onpay[from]"><option value=""></option>
</select>
</div>
<!-- Сюда подставляются поля для сбора дополнительных данных -->
<div id='onpay_details'></div>
<!-- Кнопка отправки формы -->
<div class='onpay_control_group submit'>
<input id="onpay_submit" name="commit" type="submit" value="Оплатить" />
</div>
</form>
<!-- Сюда подставляются инструкции по оплате -->
<div id='onpay_instruction'></div>
</div>
<!-- Контейнер для иконок платёжных систем -->
<div id='onpay_paysystems'></div>
<!-- Скрытая форма - требуется для работы комплекта -->
<div id='onpay_hidden_form' style='display: none;'></div>

</div> <script>

//<![CDATA[
// Параметры для платежей
var onpay_opts = { gateway: 'https://secure.onpay.ru/',
recipient: 'onpay',
email: 'am@onpay.ru',//Заменить на уникальный email плательщика
own_css: true };
// Динамическая загрузка комплекта
var onpay_script = document.createElement('script');
onpay_script.type = 'text/javascript';
onpay_script.src = onpay_opts.gateway + 'assets/easy_pay/easy_pay.js';
document.getElementsByTagName('head')[0].appendChild(onpay_script);
//]]>

</script>

Код снабжен комментариями. Мерчант может полностью стилизовать внешний вид формы, используя уникальные идентификаторы с префиксом onpay для каждого элемента. Собственно, css, который подгружается если не устанавливать галочку «Свой CSS» может послужить примером того, как это сделать. Самое нужное - подставить правильные Email и назначение платежа.