Для получения изображения QR-кода без отображения всплывающего окна необходимо обратиться методом GET или POST по url - https://payqr.ru/shop/api/1.0/invoices/qr и передать параметры данного счёта.
Пример GET-запроса на создание кода покупки типа «Счет»:
GET https://payqr.ru/shop/api/1.0/invoices/qr?merchId=000000-00000&amount=2802&orderId=7Z7K7Z&cart=[{"article":"123321","name":"Товар1","quantity":"3","amount":1801.50},{"article":"321123","name":"Товар2","quantity":"1","amount":1000.50}]&scenario=pay
Пример POST-запроса на создание кода покупки типа «Счет» посредством cURL:
curl -v-X POST -H "Content-Type: application/json" https://payqr.ru/shop/api/1.0/invoices/qr-d "{\"merchId\":\"000000-00000\",\"amount\":3000.00,\"cart\":[{\"article\":\"900_001\",\"name\":\"Сумка\",\"quantity\":\"1\",\"amount\":1500.00,\"imageUrl\":\"http://www.modastuff.ru/stuffs/sumka.png\"},{\"article\":\"900_002\",\"name\":\"Очки\",\"quantity\":\"1\",\"amount\":1500.00,\"imageUrl\":\"http://www.modastuff.ru/stuffs/ochki.png\"}],\"phoneRequired\":\"required\",\"promoCardRequired\":\"nonrequired\",\"promoCardDetails\":{\"article\":\"sberspas\",\"description\":\"Спасибо от Сбербанка\"},\"scenario\":\"buy\"}"
Параметры счёта
- merchid - Уникальный номер магазина в PayQR
- orderid - Номер заказа (необязательный параметр). Если номер заказа не заполнен, то его необходимо будет передать PayQR в дальнейшем ответом на уведомление от PayQR о событии invoice.order.creating. Пользователь не сможет приступить к оплате в PayQR, пока не получен номер заказа.
- orderIdrequired - строка: default, deny, required (необязательный параметр). Позволить пользователю Заполнить номер заказа вручную. Если значение не заполнено, то оно будет получено из настроек в личном кабинете
- default - значение берется из настроек в личном кабинете.
- deny - означает, что номер заказа передаст интернет-сайт.
- required - пользователь будет заполнять номер заказа в PayQR вручную
- ordergroup - Номер товарной группы. (необязательный параметр). Любой дополнительный идентификатор по желанию интернет-сайта (например, идентификатор пользовательской сессии или идентификатор корзины).
- amount Сумма заказа. Сумма заказа - обязательное поле (необязательный параметр только в случае указания amountcustom = required). При необходимости интернет-сайт может изменить указанную в кнопке сумму заказа в дальнейшем ответом на уведомление от PayQR о событии invoice.order.creating. Пользователь не сможет приступить к оплате в PayQR, пока не получена сумма заказа от интернет-сайта.
- amountrequired строка: default, deny, required (необязательный параметр). Позволить пользователю заполнить сумму заказа вручную.
- default - значение берется из настроек в личном кабинете.
- deny - означает, что сумму заказа передаст интернет-сайт.
- required - пользователь будет заполнять сумму заказа в PayQR вручную
- scenario строка: buy, pay. Пользовательский сценарий – покупка или оплата
- userData - произвольный параметр. Любые данные которые могут понадобиться при обработке запроса на создание заказа
Служебные параметры (по желанию)
- availabilityindays - Сколько дней код покупки PayQR доступен для сканирования после его создания (установите 0, чтобы снять лимит). Если значение установлено, и оно составляет менее 180, то в течение того же самого срока счета, полученные после сканирования кода, будут активны для их оплаты через PayQR и будут храниться в мобильном приложении PayQR как активные счета (по умолчанию: без ограничений, т.е. 0)
- codeimageformat - Формат полученного изображения QR-кода. По умолчанию - PNG. Возможные значения - PNG, SVG, JPG
- codeimagesize - Размер полученного изображения QR-кода в пикселях (по умолчанию: 100, но размер по умолчанию может измениться)
- iscodeimageinverted - Инвертировать цвета полученного изображения QR-кода. По умолчанию - false (черный код на белом фоне).
- needextendedheaders - Активировать ли расширенные заголовки HTTP в ответах на запросы на создание кодов покупки (увеличивает объем ответа от PayQR, но предоставляет больше технической информации) (по умолчанию: нет, т.е. false)
Корзина
Перечень позиций корзины/заказа, т.е. список товаров/услуг передается вложенным массивом объектов в формате JSON в качестве значения параметра cart.
Описание параметров объектов (позиций корзины/заказа)- article - Внутренний идентификатор позиции продавца (артикул)
- name - Название позиции
- category - Категория позиции по внутреннему классификатору PayQR
- quantity- Количество товаров/услуг в позиции
- amount - Стоимость позиции (всех товаров/услуг в позиции)
- imageurl - Ссылка продавца на изображение позиции
Обязательность ввода данных в приложении PayQR
- firstnamerequired - строка: default, deny, required (необязательный параметр). Необходимо ли пользователю заполнять имя в приложении PayQR
- default - указывает, что значение берется из настроек в личном кабинете.
- deny - означает, что приложение не будет предлагать пользователю заполнить имя, и значение будет пустым.
- required - пользователь будет заполнять имя в PayQR
- lastnamerequired - строка: default, deny, required (необязательный параметр). Необходимо ли пользователю заполнять фамилию в приложении PayQR
- default - указывает, что значение берется из настроек в личном кабинете.
- deny - означает, что приложение не будет предлагать пользователю заполнить фамилию, и значение будет пустым.
- required - пользователь будет заполнять фамилию в PayQR
- middlenamerequired - строка: default, deny, required (необязательный параметр). Необходимо ли пользователю заполнять отчество в приложении PayQR
- default - указывает, что значение берется из настроек в личном кабинете.
- deny - означает, что приложение не будет предлагать пользователю заполнить отчество, и значение будет пустым.
- required - пользователь будет заполнять отчество в PayQR
- phonerequired - строка: default, deny, required (необязательный параметр). Необходимо ли пользователю заполнять номер телефона в приложении PayQR
- default - указывает, что значение берется из настроек в личном кабинете.
- deny - означает, что приложение не будет предлагать пользователю заполнить телефон, и значение будет пустым.
- required - пользователь будет заполнять номер телефона в PayQR
- emailrequired - строка: default, deny, required (необязательный параметр). Необходимо ли пользователю заполнять e-mail в приложении PayQR
- default - указывает, что значение берется из настроек в личном кабинете.
- deny - означает, что приложение не будет предлагать пользователю заполнить e-mail, и значение будет пустым.
- required - пользователь будет заполнять e-mail в PayQR
- deliveryrequired - строка: default, deny, required, nonrequired (необязательный параметр). Необходимо ли предоставить пользователю возможность вводить адрес доставки в приложении PayQR
- default - указывает, что значение берется из настроек в личном кабинете.
- deny - означает, что приложение не будет предлагать пользователю вводить адрес и значение будет пустым.
- required - пользователь будет выбирать способ доставки в PayQR
- nonrequired - используется, когда нужно запросить у пользователя адрес после оплаты: пользователь может не заполнить адрес доставки, но поле будет предложено.
- deliverycasesrequired - строка: default, deny, required (необязательный параметр). Необходимо ли предоставить пользователю возможность вводить адрес доставки в приложении PayQR
- default - указывает, что значение берется из настроек в личном кабинете.
- deny - означает, что приложение не будет предлагать пользователю выбирать способ доставки и значение будет пустым.
- required - пользователь будет выбирать способ доставки в PayQR
- pickpointsrequired - строка: default, deny, required (необязательный параметр). Необходимо ли предоставить пользователю возможность выбирать точку самовывоза в приложении PayQR
- default - указывает, что значение берется из настроек в личном кабинете.
- deny - означает, что приложение не будет предлагать пользователю выбирать точку самовывоза и значение будет пустым.
- required - пользователь будет выбирать точку самовывоза в PayQR
- promoсoderequired - строка: default, deny, nonrequired (необязательный параметр). Необходимо ли предоставить пользователю возможность ввести промо-код в приложении PayQR
- default - указывает, что значение берется из настроек в личном кабинете.
- deny - означает, что приложение не будет предлагать пользователю ввести промо-код и значение будет пустым.
- nonrequired - используется, когда нужно запросить у пользователя promo код для расчета суммы скидки. Код вводить пользователю не обязательно.
- promocodedetails строка: в формате JSON
Дополнительные данные получателя денежных средств к значению промо-кода, указанного пользователем.
Эти параметры могут использоваться получателем денежных средств для информирования покупателей/плательщиков о том, какие именно промо-коды можно вводить при покупке/платеже через PayQR и когда того требует реализованная логика обработки промо-кодов
- article
- строка
Внутренний идентификатор типа промо-кодов - description
- строка
Собственное пояснение получателя денежных средств к полю ввода промо-кода
- promocardrequired строка: default, deny, nonrequired
Предлагать покупателю указать номер карты лояльности
- default - указывает, что значение берется из настроек в личном кабинете.
- deny - не предлагать.
- nonrequired - используется, когда нужно запросить у пользователя номер карты лояльности.
Если значение не заполнено, то оно будет получено из настроек в личном кабинете.
- promocarddetails строка: в формате JSON
Дополнительные данные получателя денежных средств к значению номера карты лояльности, указанного пользователем.
Эти параметры могут использоваться получателем денежных средств для информирования покупателей/плательщиков о том, номера каких именно карт лояльности можно вводить при покупке/платеже через PayQR и когда того требует реализованная логика обработки карт лояльности
- article
- строка
Внутренний идентификатор типа карт лояльности - description
- строка
Собственное пояснение получателя денежных средств к полю ввода карты лояльности
Описанный выше механизм работы с кодами покупки PayQR не предназначен для WEB-сайтов в сети интернет.