-
Notifications
You must be signed in to change notification settings - Fork 6
/
README
65 lines (51 loc) · 9.44 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Этот шаблон предназначен для каcтомизации страницы оплаты. Чтобы разрабатывать шаблон на локальном сервере и понимать, как он будет выглядеть на боевом сервере, достаточно разместить его на локальном сервере и корнем сделать папку www. Вне директории payment_params_teplates/{{customization_merchant_id}} лежат папки со скриптами, которые принадлежат platron, поэтому, все что лежит вне этой папки выложено не будет. Один шаблон выкладывается только для одного магазина. Если у вас 3 магазина и вы хотите, поставить шаблон на 3 магазина - нужно уведомить об этом программистов. Шаблон нужно присылать на проверку на [email protected].
Внутри папки 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>