Организация может создать 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-коды на любых платежных документах (ПД)

  1. На основе имеющихся данных в ПД (реквизиты получателя, назначение платежа и т.д.) по формату PayQR осуществляется запрос к серверу PayQR при генерации каждого ПД (обычный запрос типа GET или POST, как удобнее). Назначение запроса – получить изображение QR-кода. В рамках формата запроса PayQR также определяется размер необходимого QR-кода. Можно посылать неограниченное количество запросов единовременно с разным содержанием.
  2. Ответом на данный запрос сервер PayQR вернет изображение в формате PNG или SVG, которое можно сохранить в своем хранилище/базе данных или сразу включить в содержание сгенерированного ПД. Изображение возвращается в размере, который был определен на шаге 1.
  3. Полученное изображение для того или иного ПД размещается в конкретном определенном месте ПД, которое в дальнейшем отправляется на печать. То есть предварительно необходимо определить место расположения QR-кода на ПД.