Общая информация
На данном этапе развития ВКУ и КФ в зависимости от типа УЗ возможны следующие виды оплаты:
|
ФЛ |
ИП |
ЮЛ |
На портале |
|
|
|
Картой |
+ |
+ |
+ * |
Мобильный платёж |
+ |
+ |
|
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)