Здесь показаны различия между двумя версиями данной страницы.
Both sides previous revision Предыдущая версия Следущая версия | Предыдущая версия | ||
easypayments [2012/11/11 16:38] admin |
— (текущий) | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Лёгкие платежи ====== | ||
- | ===== Основная идея. ===== | ||
- | |||
- | Суть "лёгких" платежей в полной интеграции платёжной формы на сайт мерчанта и минимизация действий, требующихся от пользователя для оплаты. В идеале - нажатие одной кнопки. Мы создали своего рода конструктор. Мерчант может на основе полученного от нас кода далее свободно модифицировать внешний вид и все остальные параметры формы, достигая нужного внешнего вида своего сайта. Мерчант сам выбирает в какой точке на шкале "сложность - гибкость" будет находиться платёжная форма. Он может сделать вообще одну большую кнопку "Заплатить", а может сделать много кнопок с платёжными системами, с вводом 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="✓" /></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 и назначение платежа. |