Страница виджета — содержимое iframe
GET /Card/Sbp/widget.html
То, что mount() вставляет в iframe: сумма, QR, обратный отсчёт и опрос
статуса. Открывать её самому не нужно — адрес собирает SDK.
Параметры оформления санитайзятся на сервере: страница публичная, и brand
приезжает строкой запроса — без проверки это reflected XSS. Негодное значение
молча заменяется дефолтом: это экран плательщика, и ошибка вместо формы
оплаты хуже непоказанного логотипа.
Негодный токен отдаёт экран, а не JSON: содержимое iframe видит плательщик.
Параметры запроса
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
invoiceId | string | да | Идентификатор счёта |
t | string | да | AuthorizationToken из ответа createInvoice. Имя параметра — t (прежнее token песочница тоже принимает). |
name | string (≤64) | — | Название магазина на экране (обрезается до 64 символов) |
logo | string | — | Логотип — только http(s):// или data:image/ |
primary | string | — | Акцентный цвет — #rgb, #rrggbb, rgb()/rgba() или имя из белого списка |
bg | string | — | Цвет фона (прежнее имя background тоже принимается) |
textColor | string | — | Цвет текста |
poll | 1 · 0 | — | Опрос статуса; 0 выключает (принимается и false) |
lang | ru · en | — | Язык экрана — расширение песочницы, её страницы двуязычные |
Коды ответов
| Код | Описание |
|---|---|
200 | Страница виджета |
401 | Токен не подошёл — экран «Ссылка недействительна» |