1. Базовая настройка приема платежей

Базовая настройка собственного провайдера достаточна для приёма платежей. Пользователь сможет ввести данные, оплатить, получить чек, а вы сможете увидеть платеж в Диспетчерской. При необходимости вы можете настроить автоматическую выгрузку реестра всех платежей на электронную почту.

В большинстве случаев базовая настройка достаточна и идеально подходит для приема платежей по ЖКХ, оплаты аренды офисов в здании, приема платежей за автостоянку и т.п.

Пусть вас не пугает объем статьи. Мы описали всё очень подробно, доступным языком и с большим количеством примеров. Будьте уверены, что ее прочтение и настройка провайдера не составит труда.

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

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

Составим план настройки собственного провайдера:
0. Собрать информацию: наименование организации, ИНН, логотип и т.п. Подробнее описано здесь.
1. Подготовить логотип и кнопку. Для этого мы предоставляем удобный шаблон и иллюстрированную инструкцию.
2. Прописать свойства провайдера в файл MyProviders.ini.
3. Если не подходит стандартная форма ввода - настроить собственную.
4. Если не подходит стандартный чек - настроить собственный.

Ниже детально рассмотрим каждый из этапов плана настройки собственного провайдера.

0. Сбор информации

Чтобы пример был как можно более полезным и применимым к жизни - опишем реализацию оплаты услуг интернет-провайдера. Его можно будет применить к любому другому собственному провайдеру (просто изменив его название).

1. Словесное описание добавляемой услуги. Оплата услуг интернет-провайдера через платежный терминал.
2. Наименование организации-получателя средств. ООО «Собственный провайдер».
3. ИНН организации-получателя средств. 1234567890.
4. Краткое название, которое разместить на кнопке. «Интернет PayPRO».
5. Желаемый логотип. Пример логотипа для собственного провайдера
6. Количество полей ввода:
6.1. Сначала для простоты условимся, что для оплаты нашего провайдера требуется ввести номер договора: ровно 7 цифр.
6.2. Затем посмотрим, как сделать, чтобы можно было вводить переменное количество цифр от 5 до 7 цифр.
6.3. Далее настроим ввод букв в договоре, например, номер договора с буквами.
6.4. В конце сделаем два поля ввода: номер договора и e-mail.

1. Логотип и кнопка

Подробная инструкция по подготовке логотипа и кнопок доступна здесь.

Итак, считаем, что мы получили:
1. Логотип адаптированный для ПО. Сохраним его как paypro_internet.bmp. Скачать этот пример.
2. Изображения кнопки:
2.1. Изображение ненажатой кнопки (пассивной). Сохраним его как paypro_internet_pas.bmp. Скачать этот пример.
2.2. Изображение нажатой кнопки (активной). Сохраним его как paypro_internet_act.bmp. Скачать этот пример.

Скопируйте эти три файла в папку img\providers. Это стандартная папка для изображений провайдеров (можно использовать любую другую, но это менее удобно).

2. Прописать свойства провайдера в файл MyProviders.ini

Файл MyProviders.ini находится в папке MyProviders. Данный файл хранит в себе настройки собственных провайдеров в формате, принятом в PayPRO для описания провайдеров (полностью аналогичен формату файла providers.ini).

Описание формата, список возможных параметров и примеры их использования подробны описано в статье "providers.ini и providers_user.ini - системные параметры провайдеров".

2.1. Одно поле ввода: только цифры, ровно 7 символов

После прочтения этой главы мы получим такой результат:
Настроенный собственный провайдер "PayPRO интернет". Одно поле ввода: только цифры, ровно 7 символов

Итак, составим файл MyProviders.ini. Это проще, чем вам казалось:

<Провайдер>
Номер провайдера=1
Наименование провайдера=PayPRO Интернет
Наименование организации-получателя средств=ООО "Собственный провайдер"
ИНН=1234567890
Комментарий=Введите номер договора (7 цифр)
Наименование поля ввода=Договор
Формат поля ввода=#######
Логотип=paypro_internet.bmp
Тип=3

Прокомментируем каждую строчку:

<Провайдер>
Необязательная строка, призванная отделить описание одного провайдера от другого.

Номер провайдера=1
Обязательное свойство провайдера, должно указываться первым параметром. Именно оно является фактическим разделителем одного провайдера от другого.

Наименование провайдера=PayPRO Интернет
Наименование провайдера выводится на экране при вводе данных, а также печатается на чеке.

Наименование организации-получателя средств=ООО «Собственный провайдер»
Наименование организации-получателя средств печатается только на чеке, это требуется по закону.

ИНН=1234567890
ИНН оплачиваемого провайдера печатается только на чеке, это требуется по закону.

Комментарий=Введите номер договора (7 цифр)
Комментарий выводится только на экране под наименованием провайдера при вводе данных.

Наименование поля ввода=Договор
Наименование поля ввода печатается на чеке, например, на основе этого поля в чеке будет напечатана строка «Договор: 1234567».
На сложных формах ввода с буквенным вводом или несколькими полями значение этого параметра также может использоваться, например, в формах оплаты (будет продемонстрировано далее).

Формат поля ввода=#######
Данный параметр описывает формат ввода. Решетки будут заменены на введенные символы. Семь решеток означает, что можно будет ввести ровно 7 символов - не больше и не меньше. Только после ввода всех 7 символов появится кнопка «Приступить к оплате».

Например, если будет введено 1234567, то в соответствии с форматом будет отображено 1234567. Если изменить формат на ###-##-##, то в соответствии с форматом будет отображено 123-45-67.

В ПО хранится два значения введенного поля: чистое 1234567 и форматированное, которое зависит от формата, например, 1234567 (для формата #######) или 123-45-67 (для формата ###-##-##).
Форматированное значение удобнее использовать для вывода на экран и печати чека.
Чистое значение введенного поля как правило используется для отправки провайдеру при проведении платежей в реальном времени.

Логотип=paypro_internet.bmp
В данном параметре указывается наименование файла логотипа.
Параметр Логотип является интеллектуальным и позволяет облегчить настройку. При этом не требуется указывать путь до файла логотипа (img\providers\).

На основе значения параметра Логотип ПО автоматически заполняет параметры Путь к изображению пассивной кнопки и Путь к изображению активной кнопки подставляя соответственно _pas и _act в конец имени файла логотипа. Поэтому назвав файлы кнопок paypro_internet_pas.bmp и paypro_internet_act.bmp мы избавили себя от необходимости задавать параметры Путь к изображению пассивной кнопки и Путь к изображению активной кнопки. Это удобно, но вы всегда можете переопределить эти параметры, если решили назвать файлы кнопок иначе (не используя окончание _pas и _act или при использовании кнопок от другого провайдера).

Тип=3
Тип задает в какой группе провайдеров будет выведена кнопка с вашим провайдером. Так, тип провайдера 3 - это интернет провайдеры.
Все типы перечислены в данной таблице: коды типов провайдеров.
Помимо этого будет полезным вывести кнопку для выбора вашего собственного провайдера на главную форму выбора групп и приоритетных провайдеров ProvidersForm.ini.

Прописав нашу кнопку в ProvidersForm.ini можем получить такой результат:
Вывод кнопки собственного провайдера "PayPRO интернет" в форму выбора провайдеров

2.2. Одно поле ввода: только цифры, переменная длина от 5 до 7 символов

После прочтения этой главы мы получим такой результат:
Настроенный собственный провайдер "PayPRO интернет". Одно поле ввода: только цифры, переменная длина от 5 до 7 символов

Достаточно добавить всего один параметр:
Минимальная длина поля ввода=5

Нужно учесть, что минимальная длина поля ввода сравнивается не с длиной чистого значения введенного поля, а с длиной форматированного значения (по аналогии, как максимальная длина также достигается тогда, когда длина форматированного значения введенного поля равна длине формата поля ввода).

Данный параметр указывается в любом месте описания собственного провайдера, после параметра Формат поля ввода.

Также будет полезным изменить параметр Комментарий, отразив в нем особенности ввода данных:
Комментарий=Введите номер договора (5-7 цифр)

Готовый файл MyProviders.ini будет выглядеть следующим образом (внесенные изменения выделены):

<Провайдер>
Номер провайдера=1
Наименование провайдера=PayPRO Интернет
Наименование организации-получателя средств=ООО "Собственный провайдер"
ИНН=1234567890
Комментарий=Введите номер договора (5-7 цифр)
Наименование поля ввода=Договор
Формат поля ввода=#######
Минимальная длина поля ввода=5
Логотип=paypro_internet.bmp
Тип=3

3. Собственная форма ввода

3.1. Одно поле ввода: буквы и цифры, переменная длина