Общая информация
На данный момент в ВКУ в зависимости от типа УЗ возможны следующие виды оплаты:
|
|
ФЛ |
ИП |
ЮЛ |
|
На портале |
|
|
|
|
Картой |
+ |
+ |
+ * |
|
Мобильный платёж |
+ |
+ |
|
|
Yandex Pay |
+ |
+ |
|
| Gazprom Pay | + | + | |
| SberPay |
+ |
+ |
|
|
ЭЛПЛАТ |
+ |
+ |
|
|
По квитанции |
+ |
+ |
+ |
|
Ранее оплаченные пошлины |
+ |
+ |
|
* — оплата по карте для ЮЛ возможна только с корпоративной карты, прикреплённой в профиле организации
Компоненты оплаты
Для проведения оплаты в ВКУ используются 4 компонента:
- PaymentTypeSelector
- BillInfo
- PaymentScr
- UnusedPayments
PaymentTypeSelector — компонент, предназначенный для создания начисления и отображения способа оплаты. Он является основным компонентом в процессе оплаты, а также источником данных для других платёжных компонентов. Работа с оплатой начинается именно с него
Этот компонент создаёт начисление и отображает варианты оплаты: «На Госуслугах», «По квитанции», «За счёт ранее оплаченных пошлин». Название и набор вариантов задаются внутри компонента *. В зависимости от того, какой вариант выбрал пользователь, необходимо осуществить переход на экран с соответствующим компонентом: вариант «На Госуслугах» — переход на экран с компонентом PaymentScr, «По квитанции» — BillInfo, «За счёт ранее оплаченных пошлин» — UnusedPayments
* — Вариант «На Госуслугах» также может отсутствовать для ЮЛ, у которого нет корпоративной карты. Для этого необходимо задать дополнительную проверку наличия карты у ЮЛ. При отсутствии такой проверки кнопка «На Госуслугах» будет отображаться для всех ЮЛ, но провести такую оплату будет невозможно. Таким образом, смысл этой проверки исключительно косметический — если нет карты, то и кнопки нет
Для функционирования компонента PaymentTypeSelector необходимо выбрать «Способ создания начисления» — «С импортом из ГИС ГМП» и задать параметры
Обязательные параметры:
- applicantType — тип заявителя (FL — физ.лицо, IP — ИП, UL — юр.лицо)
- totalAmount — полная сумма в копейках
- organizationId — идентификатор организации
- purpose — назначение платежа
- inn — ИНН получателя платежа
- kpp — КПП получателя платежа
- oktmo — ОКТМО получателя платежа
- kbk — КБК
- amountCode1 — amountCode10: коды цели платежа
- senderIdentifier * — УРН участника-отправителя сообщения в ГИС ГМП
- senderRole * — Полномочие ведомства в ГИС ГМП
Опциональные параметры *:
- originatorId — УРН участника косвенного взаимодействия, формирующего начисление в ГИС ГМП
Необязательные параметры:
- personalType (O — юр.лицо, P — физ.лицо и ИП)
- payerIdType — тип документа плательщика
- payerIdNum — номер документа плательщика
- activeCard — признак наличия у ЮЛ корпоративной банковской карты
- saleAmount — сумма в рублях
- bik — БИК получателя платежа
- accountNumber — номер счёта получателя платежа
- correspondentBankAccount — номер единого казначейского счёта
- bank — наименование банка получателя платежа
- payeeName — наименование получателя
* — для корректной работы необходимо понять, в качестве кого ведомство зарегистрировано в ГИС ГМП
Существует два вида участия в ГИС ГМП:
Участник прямого взаимодействия — это администратор начислений, администратор платежей и администратор запросов, осуществляющие самостоятельное информационное взаимодействие с ГИС ГМП, а также главный администратор начислений, главный администратор платежей и главный администратор запросов
Участник косвенного взаимодействия — администратор начислений, администратор платежей и администратор запросов, осуществляющие информационное взаимодействие с ГИС ГМП через главного администратора начислений, главного администратора платежей и главного администратора запросов, соответственно
senderIdentifier — уникальный регистрационный номер (УРН) участника-отправителя сообщения в ГИС ГМП (содержит 6 символов: латинские буквы и цифры), уполномоченного на направление запросов в ГИС ГМП
Поле заполняется следующим образом:
— если орган власти или учреждение зарегистрированы в ГИС ГМП в качестве участника прямого взаимодействия, то в данном поле указывается уникальный регистрационный номер, выданный данному органу власти или учреждению при регистрации в ГИС ГМП
— если орган власти или учреждение зарегистрированы в ГИС ГМП в качестве участника косвенного взаимодействия, то в данном поле указывается уникальный регистрационный номер участника ГИС ГМП прямого взаимодействия, через которого орган власти или учреждение взаимодействует с ГИС ГМП
originatorId — УРН участника косвенного взаимодействия, формирующего начисление в ГИС ГМП — уникальный регистрационный номер органа власти или учреждения, зарегистрированного в ГИС ГМП в качестве участника косвенного взаимодействия (содержит 6 символов: латинские буквы и цифры). Заполняется в случае, если орган власти или учреждение взаимодействует с ГИС ГМП не напрямую, а через уполномоченную организацию
senderRole — полномочие участника-отправителя сообщения — полномочие, с которым зарегистрирован участник в ГИС ГМП, непосредственно формирующий запрос в ГИС ГМП. Выбирается из справочника системы управления регламентов УРН «Полномочия отправителей запросов в ГИС ГМП»
Справочник «Полномочия отправителей запросов в ГИС ГМП»1 — ГАН — главный администратор доходов бюджета, имеющий в своем ведении администраторов доходов бюджета и/или осуществляющий функции и полномочия учредителя в отношении государственных (муниципальных) учреждений2 — ГАН — орган государственной власти субъектов Российской Федерации (орган местного самоуправления), обеспечивающий информационное взаимодействие с ГИС ГМП государственных (муниципальных) учреждений и/или администраторов доходов бюджета 3 — АН — администратор доходов бюджета, главный администратор доходов бюджета 4 — АН — государственное (муниципальное) учреждение 24 — ГАН — уполномоченный орган, являющийся главным администратором доходов бюджета 25 — ГАН — оператор системы «Электронный бюджет» 27 — АН — уполномоченный орган, являющийся администратором доходов бюджета 33 — АН — уполномоченный орган |
Для функционирования компонента UnusedPayments необходимо задать параметры
Обязательные параметры:
- amount — сумма платежа
- organizationId — идентификатор организации
Опциональные параметры *:
- ignoreOrgCode — флаг отмены передачи organizationId (true, false)
Необязательные параметры:
- applicantType — тип заявителя (UL, FL, IP)
* — особенности использования компонента UnusedPayments:
1. Если в услуге встречаются компоненты PaymentTypeSelector, UnusedPayments и TimeSlot, и при этом по ходу сценария располагается сначала TimeSlot, а потом PaymentTypeSelector, то в компонентах PaymentTypeSelector и UnusedPayments необходимо указать атрибут ignoreOrgCode=false (или вообще их убрать)
2. Если в услуге встречаются компоненты PaymentTypeSelector, UnusedPayments и TimeSlot, и при этом по ходу сценария располагается сначала PaymentTypeSelector, а потом TimeSlot, то в обоих компонентах необходимо в явном виде указать ignoreOrgCode=true
3. Если в услуге встречаются компоненты PaymentTypeSelector и UnusedPayments БЕЗ TimeSlot, то в обоих компонентах необходимо в явном виде указать ignoreOrgCode=true
Используются три справочника, из которых во время работы параметры извлекаются и помещаются в компоненты оплаты через механизм linkedValues
Справочники ВКУ для хранения параметров оплаты
ВКУ представляет свой набор справочников для хранения параметров оплаты. В него входят три справочника-агрегатора. Ниже представлен их атрибутивный состав и описание полей
payment_info_org
Справочник-агрегатор, содержащий платежные реквизиты подразделений
|
Наименование атрибута |
Тип |
Длина, при наличии |
Обязательность |
Описание |
Примечание |
|
ID |
Целое число |
|
да |
Идентификатор записи |
|
|
OWN_ORG_ID * |
Строка |
255 |
нет |
Идентификатор вышестоящей организации |
|
|
ORG_ID * |
Строка |
255 |
да |
Идентификатор организации |
|
|
DEP_ID ** |
Строка |
255 |
да |
Идентификатор департамента |
|
|
Region |
Строка |
255 |
нет |
Регион |
|
|
payeeName |
Строка |
160 |
нет |
Наименование получателя |
|
|
INN |
Строка |
10 |
да |
ИНН получателя платежа |
|
|
KPP |
Строка |
9 |
да |
КПП получателя платежа |
|
|
BIK |
Строка |
9 |
нет |
БИК получателя платежа |
|
|
accountNumber |
Строка |
20 |
нет |
Номер счёта получателя платежа |
Всегда начинается с «03100» |
|
correspondentBankAccount |
Строка |
20 |
нет |
Номер единого казначейского счёта |
Всегда начинается с «40102» |
|
bank |
Строка |
200 |
нет |
Наименование банка получателя платежа |
|
|
OKTMO |
Строка |
8 |
да |
ОКТМО получателя платежа |
Может быть 0 |
|
supplierOrgName |
Строка |
255 |
нет |
Имя организации-поставщика |
|
|
senderIdentifier |
Строка |
6 |
да |
УРН участника-отправителя сообщения в ГИС ГМП |
|
|
originatorId |
Строка |
6 |
нет |
УРН участника косвенного взаимодействия, формирующего начисление в ГИС ГМП |
|
|
senderRole |
Строка |
10 |
да |
Полномочие ведомства в ГИС ГМП |
* — в качестве идентификатора организации используется идентификатор организации из ФРГУ.
** — в качестве идентификатора департамента можно использовать ваши внутренние идентификаторы департаментов (отделов), если у вас они отсутствуют, то выставляйте 0
general_payment_info
Справочник-агрегатор, содержит реквизиты организации
|
Наименование атрибута |
Тип |
Длина, при наличии |
Обязательность |
Описание |
|
ID |
Целое число |
|
да |
Идентификатор записи |
|
ORG_ID |
Строка |
|
да |
Идентификатор организации |
|
Service * |
Строка |
|
да |
Сервисный код услуги |
|
Purpose |
Строка |
210 |
да |
Назначение платежа |
|
KBK |
Строка |
20 |
да |
КБК |
|
routingCode |
Строка |
|
нет |
Код цели платежа |
* — значение, идентифицирующее услугу на ЕПГУ: 8 цифр, вида 60009930
amount_st_duty
Справочник-агрегатор, содержащий суммы государственных пошлин
|
Наименование атрибута |
Тип |
Длина, при наличии |
Обязательность |
Описание |
|
ID |
Целое число |
|
да |
Идентификатор записи |
|
ORG_ID |
Строка |
|
да |
Идентификатор организации |
|
Service |
Строка |
|
да |
Идентификатор услуги |
|
AmountCode |
Строка |
|
да |
Код цели платежа |
|
ApplicantType |
Строка |
10 |
да |
Тип заявителя (FL — физ.лицо, IP — ИП, UL — юр.лицо) |
|
FullAmount |
Целое число |
от 0 до 18446744073709551615 |
да |
Полная сумма в копейках |
|
SaleAmount |
Число (дробное) |
|
нет |
Сумма в рублях |
Логика работы
Первый справочник payment_info_org — это справочник, содержащий платёжные реквизиты организации и подразделений. Хотим обратить ваше внимание на логику заполнения полей OWN_ORG_ID, ORG_ID, DEP_ID и Region. С помощью этих полей мы идентифицируем и выбираем из справочника нужные реквизиты для ведомства или его подразделения
Поле OWN_ORG_ID. Содержит идентификатор вышестоящей организации и служит для группировки территориальных подразделений или представительств какой-либо одной организации. Если нет сети территориальных подразделений или представительств, то это поле можно не заполнять. Таким образом, поле служит для выбора всей группы отделений или представительств одной организации для дальнейших манипуляций с этой группой
Поле ORG_ID. Идентификатор самой организации. В качестве идентификатора принимаем идентификатор организации в ФРГУ
Поле DEP_ID содержит идентификатор департамента или отдела. В качестве идентификатора можно использовать ваши внутренние идентификаторы департаментов. Актуален к заполнению, если различные платежи принимаются разными отделами. Например, такие услуги МВД как «Получение загранпаспорта» и «Постановка на учёт автомобиля» производится различными подразделениями. В связи с тем, что поле является обязательным к заполнению, при отсутствии необходимости в этом поле заполняйте его нулями
Поле Region содержит идентификатор региона и служит для извлечения реквизитов в зависимости от региона нахождения территориального отделения. Может заполняться ОКТМО или номером региона в зависимости от ваших потребностей. При отсутствии необходимости такой выборки поле можно оставить пустым
Сочетанием этих четырёх полей осуществляется выборка получателя платежа в зависимости от ваших потребностей, то есть указав в фильтре сочетание от одного до четырёх этих полей, вы должны получить значения для одной организации или её подразделения, в пользу которого принимается платёж
Второй справочник general_payment_info — справочник, содержащий назначения платежей
На вход фильтра запроса к этому справочнику указывается идентификатор организации и идентификатор услуги, а на выходе вы получаете значения для одного назначения платежа. В качестве идентификатора услуги здесь используется сервисный код разрабатываемой услуги. Существует особый, очень редкий случай, когда у разных платежей назначен один КБК. Тогда для фильтрации значений в запрос добавляют поле routingCode, в котором указывают код цели платежа такой же как в запросе к следующей таблице
Третий справочник amount_st_duty — справочник, содержащий суммы государственных пошлин
Поле AmountCode заполняется кодом цели платежа. Поле актуально, если принимаются платежи за несколько оказываемых подуслуг. Для их отличия друг от друга каждой такой подуслуге необходимо присвоить идентификатор. В качестве такого идентификатора можно указать некую мнемонику. Например, для подуслуги «Получение нового сертификата» можно назначить мнемонику cert_new, а для подуслуги «Внесение изменений в существующий сертификат» можно назначить мнемонику cert_edit. Также можно просто нумеровать свои подуслуги. Например, для подуслуги «Получение нового сертификата» можно назначить идентификатор 01, а для подуслуги «Внесение изменений в существующий сертификат» — идентификатор 02
Отталкиваться в этом вопросе нужно исключительно от вашего удобства в идентификации подуслуг, но, опираясь на пользовательский опыт, можем сказать, что использование мнемоник предпочтительней в силу большей понятности для разработчика с течением времени. Если у вас всего одна подуслуга, заполните это поле нулями
Поле ApplicantType заполняется типами получателей услуг, если для различных типов пользователей в вашей услуге назначены различные суммы госпошлин. Например, для ФЛ — 100 рублей, для ИП — 1000 рублей, для ЮЛ — 10000 рублей. Если сумма госпошлины не зависит от типа получателя услуги, то поле можно заполнить любым значением
Итого, в запрос к этому справочнику вы подаете от четырёх до двух параметров, а на выходе получаете значение для суммы госпошлины
Главной идеей формирования запросов ко всем этим справочникам является то, что на выходе после осуществления запроса вы должны иметь только одну строку из соответствующих справочников. Далее все полученные значения будут передаваться в компоненты оплаты
Вывод:
Все возможные подразделения, территориальные отделения, в пользу которых могут приниматься платежи, заводятся в справочник payment_info_org. Для их группирования и выборки служат четыре поля: Region, OWN_ORG_ID, ORG_ID, DEP_ID
Соответственно, подразумевается, что нужного получателя платежа можно выбрать, указав нужное из параметров: регион, идентификатор вышестоящей организации, идентификатор самой организации, идентификатор подразделения. В два следующих справочника упаковываются оставшиеся параметры. Значения из general_payment_info извлекаются с указанием идентификаторов организации и идентификатора услуги, в редком случае указывается роутинг код. Значения из amount_st_duty — с указанием идентификаторов организации, идентификатора услуги, кода цели платежа и типа получателя услуги
Необходимо понимать, что разработчики системы платежей при разработке структуры справочников попытались учесть самую изощрённую логику организации платежей в услуге, поэтому в некоторых услугах отдельные поля могут оставаться незаполненными из-за их ненадобности. Например, в организации могут отсутствовать внутренние подразделения или идентификатор вышестоящей организации
Как заполнять справочники
Каждое ведомство заводит через СЭ свои справочники-доноры к вышеуказанным справочникам-агрегаторам. Для этого заполняется анкета — Заявка_на_создание_и_предоставление_доступа_к_справочнику_донору.docx и отправляется в СЦ. При заполнении заявки необходимо учитывать следующее:
- В качестве кода справочника указывается имя справочника-агрегатора с постфиксом в виде мнемоники, ассоциированной с названием ведомства. Например, для Министерства культуры РФ коды справочников могут выглядеть так: payment_info_org_mkrf, general_payment_info_mkrf, amount_st_duty_mkrf, а для Росрыболовства так: payment_info_org_rr, general_payment_info_rr, amount_st_duty_rr
- Группа — это организация, под которой осуществляет вход учётная запись
После заведения соответствующих справочников ведомство производит их заполнение. Копирование значений из донора в агрегатор произойдёт автоматически
Внимание!!!
Ведомствам необходимо только подать заявку на создание справочников в СЦ. Руками создавать справочники в ЕСНСИ не нужно
Если специалисты ведомства испытывают сложности в нахождении каких-то параметров, они могут обратиться в службу поддержки ГИС ГМП по адресу support_gisgmp@roskazna.ru или в ТОФК
Общие настройки услуги
Если возвращение после оплаты происходит на последний экран в услуге (см. Варианты использования №1), то необходимо дополнительно внести изменения в блок availableOrderStatuses. В него помимо тех статусов, которые в нём уже указаны, необходимо добавить статусы, в которых может быть заявление, находясь на последнем экране. Обычно этот блок после редактирования выглядит так: [0, 2, 5, 14, 15, 17, 21, 25, 91, 93]
Варианты использования
Внимание!!!
а) Не всегда необходимо копировать переход (1), отвечающий за возможность отправки заявления без оплаты после ошибки при создании начисления. В случае удаления этого перехода также необходимо удалить саму кнопку «Подать без оплаты». Для этого нужно убрать соответствующую настройку PaymentTypeSelector
б) В шаблоне услуги также предусмотрен дополнительный механизм проверки статуса оплаты начисления с помощью запроса /api/pay/v1/bills (экран s1060)