Работа с QR-кодами
QR-коды нужны для приёма оплат от покупателей. Создавать их можно только для торговых точек, которые уже зарегистрированы в СБП. А как их зарегистрировать - вы можете узнать в разделе «Регистрация ЮЛ или ТСП».
Во всех методах создания QR-кодов сумма (amount) указывается в копейках. Это отличается от возврата через СБП, где сумма указывается в рублях.
Статические и динамические QR-коды
Статические и динамические QR-коды — самый простой способ принимать оплату от физлиц. Покупатель сканирует код в приложении своего банка, подтверждает сумму — и деньги поступают на ваш счёт. Какой тип выбрать, зависит от сценария:
Статический — многоразовый код с одной ссылкой, действует бессрочно. Удобно разместить на кассе, на наклейке или в зале: один и тот же код принимает сколько угодно оплат. Сумму можно не задавать — тогда покупатель вводит её сам.
Динамический — одноразовый код под конкретную оплату с заранее заданной суммой. Подходит, когда сумма известна: счёт в кафе, оплата заказа в интернет-магазине. По каждому коду проходит только одна оплата.
Зарегистрируйте QR-код методом Register Qr Code. В запросе передайте:
accountId— идентификатор счёта юрлица.merchantId— идентификатор ТСП.paymentPurpose— назначение платежа, которое покупатель увидит при считывании кода.amount— сумма платежа в копейках. Обязательна для динамических QR-кодов, для статических можно не указывать.qrcType— тип кода:01— статический,02— динамический.imageParams— параметры изображения:widthиheight- от 200, по умолчанию 300.
Дополнительно можно указать:
currency— валюта операции, толькоRUB.sourceName— название вашей интеграции для аналитики: покупатель его не видит.ttl— время действия в минутах от 1 до 129 600. Только для динамических QR-кодов; по умолчанию 72 часа.redirectUrl— https-ссылка, на которую вернётся пользователь после оплаты.
Если клиенты платят через приложение, удобнее перенаправлять их по ссылке для оплаты, а не показывать картинку. Для этого возьмите из ответа атрибут payload.
Статус динамического QR-кода можно отследить методом Get Qr Codes Payment Status — в течение срока действия кода или 24 часов с момента оплаты. Для статических QR-кодов статус не отслеживается: такой код всегда активен.
Кассовые QR-коды
Кассовый QR-код — один код, по которому можно принимать много оплат, но перед каждой его нужно активировать заново.
1. Создайте код методом Register Cashbox Qrcode. Передайте accountId, merchantId и imageParams (width, height). Дополнительно — redirectUrl.
Из ответа сохраните: qrcId (идентификатор кода), payload (ссылка для оплаты) и image (изображение). Эти параметры закрепляются за кассовой ссылкой.
2. Активируйте код перед оплатой методом Activate Cashbox Qrcode. Передайте qrcId и amount (в копейках). Дополнительно — currency, paymentPurpose, ttl (от 5 до 20 минут, по умолчанию 5).
После оплаты или по истечении ttl код деактивируется — чтобы принять следующую оплату, активируйте его заново.
Дополнительно:
- Deactivate Cashbox Qrcode — деактивировать код вручную, если покупатель передумал.
- Change Cashbox Qrcode Account — сменить счёт зачисления (
qrcId,accountId). Только в рамках одной компании. - Get Cashbox Qrcode List и Get Cashbox Qrcode — посмотреть все коды или один.
Необязательные параметры принимаются, только пока код активен — по нему ещё не прошла оплата и не закончился ttl.
B2B QR-коды
B2B QR-коды нужны для приёма платежей от ИП и организаций (не от физлиц).
Зарегистрируйте код методом Register B2B Qr Code. В запросе передайте:
accountId— идентификатор счёта юрлицаmerchantId— идентификатор ТСПpaymentPurpose— назначение платежаamount— сумма в копейках. Максимум для B2B QR-кода — 1 миллион рублейsourceName— название интеграции для аналитикиtakeTax— с НДС (true) или без (false)
Дополнительно можно указать:
totalTaxAmount— сумма НДС в копейках. Обязательна, еслиtakeTax: true.ttl— время действия в минутах от 1 до 129 600, по умолчанию 72 часа.redirectUrl— https-ссылка для перенаправления после оплаты.uip— уникальный идентификатор платежа, назначаемый получателем.
Посмотреть информацию по коду можно методом Get B2B Qr Code.
Чтобы сразу узнавать о поступлении оплаты, настройте вебхук с событием incomingSbpB2BPayment.