Организация может создать QR-код, при оплате которого пользователем сервиса PayQR будет произведён платеж по реквизитам, привязанным к этому QR-коду. Для этого необходимо выполнить веб-запрос методом GET (просто обратившись по ссылке) и передать в нём необходимые параметры платежа.
Запрос также можно выполнить методом POST, если это удобнее разработчику
Выполнение запроса
URL запроса -https://payqr.ru/shop/api/1.0/receipts/qr
Порядок параметров значения не имеет.
В качестве ответа придёт файл картинки с QR-кодом в указанном формате
Обработка ошибок
При возникновении ошибок при генерации QR-кодов будет возвращаться соответствующий Http Status Code. Описание проблемы следует смотреть в Reason Phrase.
Например при ошибке в параметре будет возвращён Http Status Code 409 (Conflict)
Обязательные поля
- ReceiverName
- Полное наименование получателя (максимально 160 символов)
- ReceiverInn
- ИНН получателя (максимально 12 символов)
- ReceiverBic
- БИК банка получателя (максимально 9 символов)
- ReceiverAccount
- Расчётный счёт получателя в банке получателя (максимально 20 символов)
Дополнительные обязательные редактируемые поля
- Amount
- Сумма платежа с копейками (максимально 10 символов). В качестве разделителя можно использовать как точку, так и запятую. Если указано дробное количество копеек - код не будет сформирован и в качестве ответа будет ошибка.
- Purpose
- Назначение платежа (максимально 210 символов)
Дополнительно активируемые поля
Если значения этих полей не переданы, то в мобильном приложении PayQR эти поля не показываются - если же переданы, пользователь не может изменить их
- Kbk
- КБК (макс 20 символов)
- Oktmo
- ОКТМО (макс 11 символов)
- Kpp
- КПП получателя (максимально 9 символов)
- Uin
- УИН (макс 100 символов)
- TaxPaymentReason
- Основание налогового платежа (макс 2 символа)
- TaxPeriod
- Налоговый период (макс 10 символов)
- DocumentNumber
- Номер документа (макс 15 символов)
- DocumentDate
- Дата документа (макс 10 символов)
- PaymentType
- Тип платежа (макс 2 символа)
- CompilerStatus
- Статус составителя платежного документа (макс 2 символа)
- BillRulingNumber
- Номер постановления (макс 100 символов)
- BillNumber
- Номер счета/извещения/начисления (макс 100 символов)
- BillDate
- Дата постановления/счета/извещения/начисления (макс 100 символов)
- ExecutoryNumber
- Номер исполнительного производства (макс 100 символов)
- AddAmount
- Сумма пени/страховки/дополнительного начисления, включенная в общую сумму, с копейками (макс 10 символов)
- AddAmountPurpose
- Назначение предлагаемой суммы увеличения основной суммы платежа (макс 30 символов)
- PaymentDocumentIndex
- Индекс платежного документа (макс 100 символов)
- BudgetReceiverAccount
- Лицевой счет бюджетного получателя (макс 100 символов)
- PaymentTerm
- Крайний срок совершения платежа (макс 100 символов)
- PaymentPeriod
- Период, по которому совершается платеж (макс 100 символов)
- PaymentTypeName
- Вид платежа (макс 100 символов)
- ContractNumber
- Номер договора, по которому совершается оплата (макс 100 символов)
- FlatNumber
- Номер квартиры, по которой совершается оплата (макс 100 символов)
- PhoneNumber
- Номер телефона, по которому совершается оплата (макс 100 символов)
- BirthDate
- Дата рождения (макс 100 символов)
- StudentName
- ФИО ребенка/учащегося (макс 100 символов)
- ServicerName
- ФИО специалиста, оказывающего услуги (макс 100 символов)
- InstitutionNumber
- Номер образовательного/медицинского учреждения (макс 100 символов)
- GroupNumber
- Номер группы детсада/класса школы (макс 100 символов)
- PayerIdentifier
- Идентификатор плательщика (например, СНИЛС) (макс 100 символов)
- PayerNumber
- Номер лицевого счета, по которому совершается платеж (макс 100 символов)
- PayerDocumentType
- Тип документа, удостоверяющего личность плательщика (макс 100 символов)
- PayerDocumentNumber
- Номер документа, удостоверяющего личность плательщика (макс 100 символов)
- PaymentTypeCode
- Код вида платежа (макс 100 символов)
Дополнительные свободные параметры
При генерации QR-кода есть возможность передать дополнительные параметры платёжного поручения. Эти параметры не редактируются в мобильном приложении PayQR, но они возвращаются в уведомлениях об оплате с теми же идентификаторами и содержанием.
Названия этих параметров должны начинаться с суффикса Custom, после которого следует уникальное в рамках запроса имя
Например: CustomQuittid, CustomExecId и т.п.
Опциональные возможности и информация сервиса
Эти параметры могут влиять на пользовательский сценарий, но не редактируется пользователем, их указание необязательно
- MerchId
- Номер магазина в PayQR (если QR-код генерируется при наличии заключенного договора с PayQR, для активации уведомлений об оплате, реестров и т.д.)
- ReceiptImageUrl
- URL изображения, сопровождающего платеж (например, фото нарушения)
- Category
- Код категории платежа по классификатору товаров/услуг PayQR
- PaidMessage
- Текст сообщения по платежу после его завершения (для отображения в мобильном приложении PayQR) (макс 100 символов)
- PaidMessageImageUrl
- Url изображения, сопровождающего сообщение по платежу после его завершения (для отображения в мобильном приложении PayQR)
- PaidMessageUrl
- Адрес, куда плательщик перейдет при нажатии на сообщение по платежу после его завершения
Настройки платежа и QR-кода
- IsAmountUpdatable
- Разрешается ли пользователю изменение переданной суммы. По умолчанию - true (разрешается)
- IsPurposeUpdatable
- Разрешается ли пользователю изменение переданного назначения платежа. По умолчанию - true (разрешается)
- IsUinUpdatable
- Разрешается ли пользователю вводить вручную или изменять УИН (если поле не передавалось, то оно появится пустым и станет обязательным). По умолчанию - false (не разрешается)
- AvailabilityInDays
- Сколько дней код покупки PayQR доступен для сканирования после его создания (установите 0, чтобы снять лимит). Если значение установлено, и оно составляет менее 180, то в течение того же самого срока счета, полученные после сканирования кода, будут активны для их оплаты через PayQR и будут храниться в мобильном приложении PayQR как активные счета (по умолчанию: без ограничений, т.е. 0)
- NeedExtendedHeaders
- Активировать ли расширенные заголовки HTTP в ответах на запросы на создание кодов покупки (увеличивает объем ответа от PayQR, но предоставляет больше технической информации) (по умолчанию: нет, т.е. false)
- CodeImageFormat
- Формат полученного изображения QR-кода. По умолчанию - PNG. Возможные значения - PNG, SVG, JPG
- CodeImageSize
- Размер полученного изображения QR-кода в пикселях (по умолчанию: 100, но размер по умолчанию может измениться)
- IsCodeImageInverted
- Инвертировать цвета полученного изображения QR-кода. По умолчанию - false (черный код на белом фоне).
Как размещать QR-коды на любых платежных документах (ПД)
- На основе имеющихся данных в ПД (реквизиты получателя, назначение платежа и т.д.) по формату PayQR осуществляется запрос к серверу PayQR при генерации каждого ПД (обычный запрос типа GET или POST, как удобнее). Назначение запроса – получить изображение QR-кода. В рамках формата запроса PayQR также определяется размер необходимого QR-кода. Можно посылать неограниченное количество запросов единовременно с разным содержанием.
- Ответом на данный запрос сервер PayQR вернет изображение в формате PNG или SVG, которое можно сохранить в своем хранилище/базе данных или сразу включить в содержание сгенерированного ПД. Изображение возвращается в размере, который был определен на шаге 1.
- Полученное изображение для того или иного ПД размещается в конкретном определенном месте ПД, которое в дальнейшем отправляется на печать. То есть предварительно необходимо определить место расположения QR-кода на ПД.