Skip to content

Platron/payment_params_templates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 

Repository files navigation

Этот шаблон предназначен для каcтомизации страницы оплаты. Чтобы разрабатывать шаблон на локальном сервере и понимать, как он будет выглядеть на боевом сервере, достаточно разместить его на локальном сервере и корнем сделать папку www. Вне директории payment_params_teplates/{{customization_merchant_id}} лежат папки со скриптами, которые принадлежат platron, поэтому, все что лежит вне этой папки выложено не будет. Один шаблон выкладывается только для одного магазина. Если у вас 3 магазина и вы хотите, поставить шаблон на 3 магазина - нужно уведомить об этом программистов. Шаблон нужно присылать на проверку на it@platron.ru.

Внутри папки payment_params_teplates/{{customization_merchant_id}} содержатся несколько папок для разных языков, а так же папка css для кастомных css и images для ваших изображений. Пути до css и изображений надо указывать так: /payment_params_templates/{{customization_merchant_id}}/css/your.css. Пример использования 
закомментирован в файлах. Внутри папок с языками лежат html файлы. Места в коде, на которые нужно обратить внимание или что-то сделать выделены с помощью ключевого слова INFO.
 
Среди html файлов существуют файлы с суффиксом local, данные файлы не будут выкладываться и предназначены для проверки верстки на локальном сервере. Данные в них выводятся статически, что позволяет увидеть, как будет выглядеть шаблон на боевом сервере. Файлы без данного префикса будут проверяться программистами Platron и выкладываться на сервер.

Список html файлов:
1. payment_params.html
Исходная страница ввода платежных реквизитов и выбора платежной системы. Использование JavaScript допустимо только в виде передачи параметров в плагин jquery.payment_form.js. Пример передачи параметров можно посмотреть в js файлах в директории www/closure.

HTML комментарии заглавными буквами вида <!--CATEGORY--> <!--/CATEGORY--> используются шаблонизатором и не должны удаляться.

Все классы, начинающиеся с js_ не должны меняться и вложенность блоков желательно так же не менять. Единственное поля ввода номера карты можно заменить на несколько полей (до 4-ех). Для этого нужно использовать названия полей card_num_1, card_num_2, card_num_3 и card_num_4. Вместо двух input полей типа text можно использовать select. В этом случае месяц и год заполняется динамически. Для этого нужно оставить select с тегами шаблонизатора. Или использовать одно поле ввода с названием exp_date. Необходимые варианты надо оставить, остальные удалить!

2. waiter_asinchrone.html
Страница ожидания процесса оплаты покупателем. Названия div элементов info_by_hold_transaction и info_by_idle_transaction не должны меняться.

3. mini_main.html
Файл страницы, на которой будут отображаться инструкции по оплате. Контент вставляется в блок на странице динамически и не подлежит кастомизации. Желательно для сохранения нормального отображения контента на странице переопределять css классы platron. Либо нужно определять, как будет отображаться контент каждой инструкции после выкладки шаблона. Логотип магазина можно добавить в блок MERCHANT_LOGO.

Кастомизировать страницу с помощью JavaScript, можно только указав параметры в переменной pluginParams. Параметры представляют собой замыкания. Внутри папки closure лежат примеры использования замыканий со всеми возможными подменами:

1. setters.js
Обработка отображения ошибок. Указанные ниже параметры позволяют переопределить их стандартное поведение.
Переопределять можно:
error_setter - поведение при ошибках
ok_setter - поведение при успешном заполнении
nothing_setter - поведение, если поле стерто для повторного ввода
	
В каждом setter стоят обработчики определенных ошибок:
form - ошибка всей формы. Например, отказ при прохождении фрод мониторинга
card_num_fields - ошибка номера карты, если номер карты вводится в несколько полей
card_num - ошибка номера карты, если номер карты вводится в одно поле
exp_date_fields - ошибка даты истечения карты, если дата вводится несколькими полями
exp_date - ошибка даты истечения карты, если дата вводится одним полем
name_on_card - ошибка в имени на карте
card_cvc - ошибка в cvc
phone - ошибка в номере телефона
email - ошибка в email
ps_additional_field - ошибка в дополнительных полях для ПС (например, идентификатор клиента в интернет банке Альфабанка)

2. handlers.js
Обработка ввода поля. Например, можно изменить обработку ввода номера телефона (одновременно изменив и валидацию).

card_num_fields - обработка ввода нескольких полей номера карты
card_num - обработка ввода 1 поля номера карты
phone - обработка ввода номера телефона
email - обработка ввода email
ps_additional_field - обработка ввода дополнительных полей для ПС (например, идентификатор клиента в интернет банке Альфабанка)

3. validators.js
Валидация полей. Если вы хотите, например, чтобы был введен телефон только в определенном формате или, если вы хотите, чтобы карта была действительна более определенного срока (например при использовании реккаринга).
card_num - валидация номера карты
name_on_card - валидация имени карты
phone - валидация номера телефона
email - валидация email
exp_date - валидация даты истечения карты

Если в шаблоне необходимо отобразить какую-то информацию, которая может меняться для разных платежей, можно в GET/POST запросе на создание транзакции
передавать дополнительные параметры, имена которых должны начинаться с "tpl_".
Для отображения их в шаблоне следует прописать в нужном месте имя вашего параметра в двух фигурных скобках.
Пример: Для отображения в шаблоне ссылки на магазин можно передать параметр tpl_shop_url.
В GET запросе она будет выглядеть следующим образом: https://www.platron.ru/payment.php?pg_amount=1000&tpl_shop_url=http://example.com&pg_merchant_id=82
Для отображения на странице можно прописать <a href="{{tpl_shop_url}}">Ссылка на магазин</a>