Войти

Как настроить модуль оплаты

Общая информация

На данном этапе развития ВКУ и КФ в зависимости от типа УЗ возможны следующие виды оплаты:


 ФЛ 

 ИП  

 ЮЛ  

 На портале




  Картой

+

+

+ *

  Мобильный платёж

+

+


  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 и отправляется в СЦ. При заполнении заявки необходимо учитывать следующее:

  1. В качестве кода справочника указывается имя справочника - агрегатора с постфиксом в виде мнемоники, ассоциированной с названием ведомства. Например, для Министерства культуры РФ коды справочников могут выглядеть так: payment_info_org_mkrf, general_payment_info_mkrf, amount_st_duty_mkrf, а для Росрыболовства так: payment_info_org_rr, general_payment_info_rr, amount_st_duty_rr
  2. Группа — это организация, под которой осуществляет вход учётная запись

После заведения соответствующих справочников, ведомство производит их заполнение. Копирование значений из донора в агрегатор произойдет автоматически

ВЕДОМСТВАМ РУКАМИ В ЕСНСИ ЗАВОДИТЬ СПРАВОЧНИКИ НЕ НАДО, НАДО ТОЛЬКО ПОДАТЬ ЗАЯВКУ НА ИХ СОЗДАНИЕ В СЭ

Если специалисты ведомства испытывают сложности в нахождении каких-то параметров, то они могут обратиться в службу поддержки ГИС ГМП по адресу  support_gisgmp@roskazna.ru или в ТОФК

После заполнения ведомством своих справочников-доноров, необходимо сообщить курирующему специалисту ВКУ, который, в свою очередь, сообщит специалистам ИПШ, что появился «новый клиент». Специалисты ИПШ подтянут данные из справочников-агрегаторов в свою систему

Общие настройки услуги

Если возвращение после оплаты происходит на последний экран в услуге (см. примеры собранных услуг №1), то необходимо дополнительно внести изменения в блок availableOrderStatuses. В него помимо тех статусов, которые в нем уже указаны, необходимо добавить статусы, в которых может быть заявление находясь на последнем экране. Обычно этот блок после редактирования выглядит так: [0, 2, 5, 14, 15, 17, 21, 25, 91, 93]

Пример собранной услуги

Шаблон услуги

image2023-1-31_20-23-10.png

Внимание!!!

а) Возможно, нет необходимости копировать связь (1), отвечающую за возможность отправки заявления без оплаты после ошибки при создании начисления. В случае удаления этой связи также необходимо удалить саму кнопку «Подать заявление без оплаты». Для этого необходимо убрать соответствующую настройку PaymentTypeSelector

б) В шаблоне услуги также предусмотрен дополнительный механизм проверки статуса оплаты начисления с помощью запроса /api/pay/v1/bills (экран s1060)

Авторизуйтесь, чтобы оставить комментарий к статье