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

Внимание! Этот вид оформления приема платежей, требует с одной стороны определенного уровня доверия к продавцу, с другой стороны достаточно высокий уровень знаний его разработчиков. Эта форма оплаты по умолчанию всем выключена и включается продавцу только по запросу в службу поддержки, и только если его рейтинг превышает 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 плательщика (это несложно для программиста мерчанта, но по идее это должно быть сделано), то все платежи будут проходить с Email, указанным в генераторе кода в зелёном кабинете. Соответственно, на этот email будет уходить на moybiz недо/пере/повторная оплата. То же и с назначением платежа. Если мерчант хочет для каждого платежа конкретный pay_for, он должен модифицировать сгенерированный код. 3. Лёгкие платежи недоступны для платёжных систем «рапидоносцев», Альфаклик, UNR и TST. Для «рапидоносцев» - слишком сложная схема выставления инвойса, то же для Альфаклик, для UNR - необходимость пропускать всё через скоринг, для TST - соображения безопасности.

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

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

<!– Контейнер для ошибок –> <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 и назначение платежа.