Киви p2p что это
Условия использования
Последнее обновление: 09-09-2021
Для подключения на свой сайт сервиса приема переводов для физических лиц p2p необходимо иметь QIWI Кошелек со статусом идентификации «Основной» или «Профессиональный». Если Ваш кошелек имеет статус «Анонимный» – пройдите идентификацию удобным для вас способом. Для получения «Основного» статуса достаточно указать паспортные данные, для получения «Профессионального» статуса необходимо пройти очную идентификацию.
Рекомендуем получить «Профессиональный» статус. Такой статус имеет повышенные лимиты на остаток на балансе, сумму платежей и переводов в месяц, максимальную сумму одной операции. Подробнее про лимиты.
Рекомендуем ознакомиться с частыми вопросами по нашему сервису, а также с информацией о том, как избежать блокировки кошелька.
Активация p2p
Поздравляем! Вы можете приступить к интеграции.
Для работы API потребуются публичный и секретный ключи. Ключи создаются в разделе «API».
Схема работы с API
Пользователь формирует счет на вашей стороне.
Вы перенаправляете пользователя на платежную форму для выставления счета. Или выставляете счет по API и перенаправляете пользователя на созданную платежную форму.
Пользователь выбирает способ перевода и подтверждает перевод. По умолчанию подбирается оптимальный для пользователя способ перевода.
После перевода по счету вы получаете уведомление (предварительно настройте отправку уведомлений в Личном кабинете при создании ключей). Уведомления о переводе по счету содержат параметры авторизации, которые необходимо проверять на Вашем сервере.
Готовые решения
SDK и библиотеки
С руководством по работе с SDK можно ознакомиться здесь.
Решения для CMS
Авторизация
Ваши запросы авторизуются посредством секретного ключа API ( SECRET_KEY ). Параметр авторизации указывается в заголовке Authorization, значение которого формируется как «Bearer SECRET_KEY».
Публичный ключ ( PUBLIC_KEY ) используется для выставления счетов через форму.
Ключи создаются в личном кабинете на вкладке API после авторизации на p2p.qiwi.com.
Для выпуска пары ключей выполните следующие шаги:
Внизу страницы нажмите на кнопку Настроить.
Придумайте название паре ключей, чтобы упростить поиск в списке.
Подключите уведомления об оплате счетов, отметив Использовать эту пару ключей для серверных уведомлений об изменении статусов счетов.
В поле URL сервера для уведомлений укажите адрес вашего сервера, который будет обрабатывать уведомления об оплате, и нажмите на кнопку Создать.
Скопируйте в буфер секретный ключ и сохраните его в безопасном месте — в дальнейшем он не будет отображаться в интерфейсе. Используйте секретный ключ для запросов к API.
Выставление счета через форму
Простой способ для интеграции. При открытии формы клиенту автоматически выставляется счет. Параметры счета передаются в открытом виде в ссылке. Далее клиенту отображается форма с выбором способа перевода. При использовании этого способа нельзя гарантировать, что все счета выставлены вами, в отличие от выставления по API.
REDIRECT →
URL https://oplata.qiwi.com/create
Параметры
Взаимодействие через API
1. Выставление счета
Доступно выставление счетов в рублях и тенге.
Надежный способ для интеграции. Параметры передаются server2server с использованием авторизации.
Также существует более простой способ выставления счета — непосредственно через вызов платежной формы
Запрос → PUT
URL https://api.qiwi.com/partner/bill/v1/bills/HEADERS
Ответ ←
Пример тела ответа при ошибке
HEADERS
2. Проверка статуса перевода по счету
Пример тела ответа при ошибке
Метод позволяет проверить статус перевода по счету. Рекомендуется его использовать после получения уведомления о переводе.
Запрос → GET
URL https://api.qiwi.com/partner/bill/v1/bills/HEADERS
Ответ ←
Пример тела ответа при ошибке
HEADERS
3. Отмена неоплаченного счета
Пример тела ответа при ошибке
Метод позволяет отменить счет, по которому не был выполнен перевод.
Запрос → POST
URL https://api.qiwi.com/partner/bill/v1/bills//reject
HEADERS
Ответ ←
Пример тела ответа при ошибке
HEADERS
Статусы оплаты счетов
Статус | Описание | Финальный |
---|---|---|
WAITING | Счет выставлен, ожидает оплаты | — |
PAID | Счет оплачен | + |
REJECTED | Счет отклонен | + |
EXPIRED | Время жизни счета истекло. Счет не оплачен | + |
Уведомления о переводе по счету
Адрес сервера для уведомлений указывается в личном кабинете p2p.qiwi.com при генерации ключей.
Перед началом работы с сервисом уведомлений прочитайте условия по интеграции API уведомлений.
Пулы IP-адресов, с которых сервисы QIWI отправляют уведомления:
Если ваш сервер обработки уведомлений работает за брандмауэром, необходимо добавить эти IP-адреса в список разрешенных адресов входящих TCP-пакетов.
Запрос ← POST
Уведомление представляет собой входящий POST-запрос.
Тело запроса содержит JSON-сериализованные данные счета (кодировка UTF-8).
HEADERS
Авторизация уведомлений
Алгоритм проверки подписи:
Объединить значения следующих параметров уведомления в одну строку с разделителем | :
где <*>– значение параметра. Все значения при проверке подписи должны трактоваться как строки.
Вычислить HMAC-хэш c алгоритмом хэширования SHA256:
hash = HMAС(SHA256, invoice_parameters, secret_key) Где:
Сравнить значение заголовка X-Api-Signature-SHA256 с результатом из п.2.
Строка и ключ подписи кодируются в UTF-8.
Данные
В уведомлении содержится информация о счете.
Поле | Описание | Тип |
---|---|---|
bill | Данные о счете | Object |
billId | Уникальный идентификатор счета в вашей системе, указанный при выставлении | String(200) |
siteId | Ваш идентификатор в системе p2p.qiwi | String |
amount | Данные о сумме счета | Object |
amount.value | Сумма счета, округленная до двух десятичных знаков в меньшую сторону | Number(6.2) |
amount.currency | Идентификатор валюты суммы счета (Alpha-3 ISO 4217 код) | String(3) |
status | Данные о статусе счета | Object |
status.value | Строковое значение статуса | String |
status.changedDateTime | Дата обновления статуса. Формат даты ГГГГ-ММ-ДДTЧЧ:ММ:ССZ | String |
customer | Данные о пользователе | Object |
customer.phone | Номер телефона (если был указан при выставлении счета) | String |
customer.email | E-mail пользователя (если был указан при выставлении счета) | String |
customer.account | Идентификатор пользователя в вашей системе (если был указан при выставлении счета) | String |
creationDateTime | Дата создания счета. Формат даты ГГГГ-ММ-ДДTЧЧ:ММ:ССZ | String |
expirationDateTime | Срок оплаты счета. Формат даты ГГГГ-ММ-ДДTЧЧ:ММ:СС+ЧЧ:ММ\-Z | String |
comment | Комментарий к счету | String(255) |
customFields | Дополнительные данные счета (если были указаны при выставлении счета). | Object |
version | Версия уведомлений | String |
Ответ →
HEADERS
После того, как был получен входящий запрос-уведомление, необходимо проверить подлинность цифровой подписи и отправить ответ.
Настройки формы и счета
При выставлении счета через API в ответе присутствует поле payUrl со ссылкой на форму. К ссылке можно добавить следующие параметры:
Добавьте реферальные ссылки для платежей с сайта. Полная ссылка подтвердит реальность сайта и позволит избежать проблем с блокировкой кошелька. Платежи, проходящие со страницы без заголовка запроса Refer будут приводить к блокировке кошелька. Подробнее читайте в статье Как передавать реферальные ссылки.
Пример передачи реферальной ссылки
Персонализация
Вы можете настроить персонализированную форму оплаты – изменить свое имя на название магазина и настроить цвет фона и кнопок.
Перейдите в личном кабинете в раздел Форма приема переводов, нажмите на кнопку Настроить, произведите настройку и нажмите на кнопку Сохранить.
Пример передачи параметра при вызове платежной формы
Пример передачи параметра в запросе к API
Обратите внимание, что значение themeCode индивидуально для разных кошельков.
Для применения стиля к платежной форме:
Checkout Popup
Пример работы popup
Всплывающее окно (popup) позволяет открыть форму перевода поверх вашего сайта.
В библиотеке доступно два метода: открытие существующего счета и открытие вашей формы приема переводов.
Установка и подключение:
Открытие существующего счета
Пример открытия уже созданного счета в popup
Открытие персонализированной формы
Пример открытия персонализированной формы
Пост 👷 MINE.exchange (Шахта) NEWS 2021-08-20 07:27:26
🧐 Нас часто спрашивают пользователи, откуда в платеже с QIWI появляется дополнительная комиссия 2%?
🏦 Несколько лет назад QIWI ввели статус Активный p2p пользователь QIWI. Для группы пользователей с этим статусом применяется комиссия 2% на переводы с QIWI.
🤖 Статус присваивается пользователю автоматически, если он в течение суток выполнил три условия:
1) Сумма пополнений вашего киви с других киви кошельков равна или более 5000 руб. или сумма ваших платежей равна или более 2000 руб.
2) Сумма пополнений вашего киви на 95% и более совершена за счёт переводов с других киви кошельков.
3) Число уникальных отправителей и получателей платежей (физических лиц, владельцев киви кошельков) равно или более 6.
📍 То есть: если вы выполняете все 3 условия в 1 день — бот QIWI автоматически присваивает вам этот статус на 30 календарных дней. Если на протяжении этих 30 дней вы опять выполняете все 3 пункта, таймер обновляется на еще +30 дней и т.д.
Процесс интеграции через SDK
Ознакомьтесь с нашей документацией.
Шаг 1. Подготовка среды разработки
Выберите SDK для вашего языка программирования и перейдите в репозиторий на GitHub:
Обратите внимание, что в зависимости от выбранного вами SDK потребуется установка Composer, Apache Maven или NuGet.
Шаг 2. Создание секретного ключа
Перейдите на вкладку API.
Нажмите на кнопку Настроить и придумайте название, по которому потом сможете найти нужный API-ключ.
Рекомендуем подключить уведомления об оплате, отметив чекбокс Использовать эту пару ключей для серверных уведомлений об изменении статусов счетов. После настройки серверных уведомлений вы сможете узнавать, когда выставленные счета оплачены, и автоматически реагировать на оплату счетов (пополнять баланс, отгружать товар, давать доступ к контенту). Подробнее об уведомлениях – в документации.
В поле URL сервера для уведомлений укажите адрес вашего сервера для обработки уведомлений об оплате.
Нажмите Создать и получите ключи авторизации.
Скопируйте себе секретный ключ (в оранжевом блоке), нажав на ссылку Скопировать в буфер. Рекомендуем не закрывать данное окно и не нажимать на кнопку Дальше, пока не настроите авторизацию.
Шаг 3. Авторизация
В разрабатываемом коде заведите константу SECRET_KEY и присвойте ей значение секретного ключа, вставив его из буфера обмена комбинацией клавиш Ctrl+V.
Раздел документации с примерами авторизации находится здесь.
Шаг 4. Выставление счета
Рекомендуем использовать дополнительные параметры:
Необязательные параметры для выставления счета:
В ответе на запрос выставления счета возвращаются следующие поля:
Для тестирования и отладки сервиса рекомендуем выставлять и оплачивать счета суммой 1 рубль.
Раздел документации с примерами выставления счетов находится здесь.
Шаг 5. Установка дополнительных параметров к ссылке на счёт
При выставлении счета через API в ответе присутствует поле payUrl, содержащее ссылку на форму. К данной ссылке можно добавить следующие параметры:
Шаг 6. Редирект пользователя на платежную форму
Пример получения URL оплаты по счету
Реализуйте на вашем сайте перенаправление пользователя на платежную форму по ссылке, полученной в поле payUrl ответа на запрос выставления счёта или по ссылке с дополнительными параметрами, сформированной на шаге 5.
Добавьте реферальные ссылки для платежей с сайта. Полная ссылка подтвердит его реальность и позволит избежать проблем с блокировкой кошелька.
Пример передачи реферальной ссылки
Сервис уведомлений позволяет понять, когда и по какому счету произошла оплата. Вам не нужно каждый раз отправлять запросы в QIWI, можно подключить сервис и получать уведомления автоматически. Но стоит обратить внимание на то, что уведомление может быть отправлено несколько раз даже в случае успешного ответа от вашего сервиса, поэтому это необходимо учитывать при разработке бизнес-логики отгрузки товара или услуги на вашей стороне.
Формат уведомлений описан в документации.
Данные приходят в теле запроса (body). Данные запроса хранятся в формате JSON.
Так как для отладки уведомлений тестовый контур не предусмотрен, рекомендуем выставлять счета на 1 рубль и оплачивать их самостоятельно.
Сервис уведомлений не является обязательным для интеграции, вы можете реализовать более простой вариант с опросом статуса счета. В этом случае перейдите сразу к шагу 11.
Условия интеграции с API уведомлений
Если же вы пока не можете определиться, тогда ознакомьтесь с условиями обслуживания интеграции с API уведомлений:
Мы устанавливаем на своей стороне таймаут на установление соединения – 2 секунды, и таймаут на получение ответа – также 2 секунды. Поэтому не рекомендуем внедрять долго выполняющуюся логику или логику, связанную с ожиданием (waiter, sleep), в процесс обработки уведомления.
Рекомендуем на стороне вашего сервера организовывать очередь и складывать в нее входящие запросы от QIWI с изменением статусов счетов, после чего отвечать QIWI на уведомление успешным статусом.
Обработку уведомлений в очереди и свою бизнес-логику стоит проводить в потоках, отдельных от приема уведомлений, чтобы успевать отвечать нам вовремя.
Мы не можем гарантировать exactly once доставку уведомления, т.е. вам может прийти более одного уведомления об одной и той же успешной оплате счёта.
Чтобы обработать такие ситуации, вам необходимо проверять на своей стороне, присылали ли мы уже уведомление по оплате данного счета и была ли произведена отгрузка товара/услуги по этому счету вашему клиенту.
Если вы выберете механизм уведомлений для интеграции и получения сообщений об успешных платежах, мы все же рекомендуем использовать в дополнение к нему опрос статуса счета.
Шаг 8*. Настройка серверных уведомлений
Уведомление представляет собой входящий POST-запрос.
Тело запроса содержит JSON-сериализованные данные счета (кодировка UTF-8).
Проверьте, что IP-адреса, с которых QIWI отправляет уведомления, находятся в списке разрешенных:
Если не приходят уведомления по счету:
Попробуйте отправить себе уведомление, заменив в примере https://test.com/notif.php на URL, который вы указали при создании ключей для получения уведомлений.
Если вы не используете облачные сервисы для приема уведомлений вроде amazon или heroku, а настраивали свой вебсервер и ssl в нем самостоятельно, проверьте ssl сертификат.
Если ssl сертификат для установления соединения по https выпущен не общеизвестным доверенным центром сертификации (например, Comodo, Verisign, Thawte и т.п.), проверьте, что ваш сервер при установке соединения отправляет полную цепочку сертификатов, включая доверенный корневой центр сертификации в начале цепочки.
Полную цепочку сертификатов вы можете загрузить на сайте центра сертификации, выпустившего ваш сертификат.
Шаг 9*. Проверка подписи уведомлений
Настоятельно рекомендуем проверять уведомления на подлинность, т.к. мы не несем ответственность, если будут приходить поддельные уведомления от мошенников.
Формат уведомлений описан в документации.
Данные приходят в теле запроса (body). Данные запроса хранятся в формате JSON.
Алгоритм проверки подписи:
Объединить значения следующих параметров уведомления в одну строку с разделителем | :
где <*>– значение параметра. Все значения при проверке подписи должны трактоваться как строки.
Вычислить HMAC-хэш c алгоритмом хэширования SHA256:
hash = HMAС(SHA256, invoice_parameters, secret_key)
где: secret_key – секретный ключ, при помощи которого был выставлен счёт; invoice_parameters – строка из п.1.
Сравнить значение заголовка X-Api-Signature-SHA256 с результатом из п.2.
В разрабатываемом коде заведите константу merchantSecret и присвойте ей значение секретного ключа, который выпустили в личном кабинете. Значение должно быть то же самое, что в константе SECRET_KEY на шаге авторизации.
После проверки уведомлений на подлинность отправьте QIWI ответ на уведомление успешным статусом.
Если вы наблюдаете задержки в получении уведомлений более 10 минут (увеличился баланс вашего кошелька или написал клиент, что оплатил, а уведомление так и не пришло) – рекомендуем в дополнение переключиться на поллинг статусов счетов – см. следующий шаг.
Шаг 11*. Проверка статуса перевода по счету
Так как в случае недоступности вашего сервера или сбоя на нашей стороне уведомления могут быть доставлены с задержкой, поэтому рекомендуем использовать метод проверки статуса оплаты счета как дополнение к механизму обработки уведомлений.
Также данный метод можно использовать как самостоятельный, т.е. после выставления счета раз в какой-то промежуток времени опрашивать статус этого счета. Этот метод проще интеграции с сервисом уведомлений.
Раздел документации с примерами проверки статуса оплаты счета находится здесь.
Шаг 12. Бизнес-логика
Счет в своем жизненном цикле проходит следующие статусы оплаты:
Статус | Описание | Комментарий |
---|---|---|
WAITING | Счет выставлен, ожидает оплаты | Нефинальный, ожидание оплаты или истечения срока действия |
PAID | Счет оплачен | Финальный (измениться не может) |
REJECTED | Счет отклонен | Финальный (измениться не может) |
EXPIRED | Время жизни счета истекло. Счет не оплачен | Финальный (измениться не может) |
Опираясь на статус счета, полученный в уведомлении или при помощи поллинга статуса, доработайте бизнес-логику вашего сайта.
Поздравляем, интеграция с QIWI для получения платежей закончена!
Дополнительно. Шаг 13. Отмена неоплаченных счетов
Вы можете отменять неоплаченные счета самостоятельно, используя метод cancelBill.
Раздел документации с примерами запросов для отмены неоплаченных счетов находится здесь.
Вчера при покупке жд билета, у меня сняли сумме аналогичной билету на QIWI P2p MOSKVA RUS 1918
Вчера при покупке жд билета, у меня сняли сумме аналогичной билету на QIWI P2p MOSKVA RUS 1918
Ответы на вопрос:
Вопрос у вас какой к юристам?
Похожие вопросы
С моей карты Сбербанк были переведены денежные средства на QIWI P2P MOSKVA RUS. Как мне их обратно вернуть на карту? Деньги сняли мошенники.
При покупке билетов РЖД перевела деньги на QIWI p2p, оказалось мошенники. В банке сказали, что не могут отменить операцию.
ECMC9202 13:15 Покупка 456.52 р QIWI P2P
Перевела случайно можно вернуть?
Я перевела деньги на QIWI P2P MOSKVA модно ли как то вернуть?
Я заказала электронные билеты.. деньги сняли киви кошелек, а на почту не пришли номер заказа на билет. И нас нет в списках на поезд.
Я перевел с карты Сбербанк денежные средства на QIWI P2P MOSKVA RUS. И как вернуть их обратно, история оплаты есть.
С моей карты сегодня было списано 499 рублей MY friends only Moscow RUS. Я никогда не заходила на этот сайт или приложение (я даже без понятие, что это такое) и никаких подписок для продления не подтверждала. Верните мои деньги, я не знаю что делать и куда писать этим мошенникам.
У меня мошенники под предлогом кредита выманили 22000, через систему QIWI P2P MOSKVA. RU. Есть ли шанс вернуть деньги.
API Basics
Last update: 2021-01-21 | Propose corrections on GitHub
P2P Invoices API opens a way to operations with invoices from your service or application. Invoice is the unique request for the payment. The user may pay the invoice with any accessible means. API supports issuing and cancelling invoices, making refunds and checking operation status.
To use API, you need public and secret keys. Keys are available after registration on p2p.qiwi.com.
Invoicing Operations Flow
User submits an order on the merchant’s website.
Merchant redirects the user to Payment Form link. It automatically issues an invoice for the order. Or you may issue an invoice by API and redirects to the Payment Form.
The user chooses the most convenient way to pay for the invoice on the Payment Form. By default, the optimal payment method is showed first.
The merchant’s service receives notification once the invoice is successfully paid by the user. You need to configure notifications on your Personal Page. Notifications contain authorization parameters which merchant needs to verify on its server.
SDK and CMS
SDK and Libraries
CMS Solutions
Authorization
API requests are authorized by the API secret key ( SECRET_KEY ). Put this parameter to Authorization header as «Bearer SECRET_KEY».
Public key ( PUBLIC_KEY ) is used when issuing invoices via the Payment Form.
Keys are available after registration on p2p.qiwi.com.
Invoice Issue on Payment Form
It is the simplest way of integration. On opening Payment Form, client receives an invoice at the same time. The invoice data sends in URL explicitly. Client gets a Payment Form web page with multiple payment means. When using this method, one cannot be sure that all invoices are issued by the merchant. API invoice creation mitigates this risk.
REDIRECT в†’
URL https://oplata.qiwi.com/create
Parameters
API Operations
1. Invoice Issue by API
It is the reliable method for integration. Parameters are sent by means of server2server requests with authorization. Method allows you to issue an invoice, successful response contains payUrl URL to redirect client on Payment Form.
Request в†’ PUT
URL https://api.qiwi.com/partner/bill/v1/bills/HEADERS
Response в†ђ
Successful response body example
HEADERS
2. Checking the Invoice Status
Successful response body example
Use this method to get current invoice payment status. We recommend using it after receiving the payment notification.
Request в†’ GET
URL https://api.qiwi.com/partner/bill/v1/bills/HEADERS
Response в†ђ
Successful response body example
HEADERS
3. Cancelling the Invoice
Successful response body example
Use this method to cancel unpaid invoice.
Request в†’ POST
URL https://api.qiwi.com/partner/bill/v1/bills//reject
HEADERS
Response в†ђ
Successful response body example
HEADERS
Invoice Payment Statuses
Status | Description | Final |
---|---|---|
WAITING | Invoice issued awaiting for payment | — |
PAID | Invoice paid | + |
REJECTED | Invoice rejected by customer | + |
EXPIRED | Invoice expired. Invoice not paid | + |
Invoice Payment Notifications
The server address for notifications is specified in your personal account p2p.qiwi.com when generating keys.
Please read the Notification API Integration Terms before working with the notification service
Pools of IP-addresses from which QIWI service sends notifications:
If your web service works behinds the firewall, you need to add these IP-addresses to the list of allowed addresses for incoming TCP packets.
Request в†ђ POST
Notification is an incoming POST-request (callback). The request’s body contains JSON-serialized invoice data encoded by UTF-8.
HEADERS
Authorization on Merchant’s Server
Signature verification algorithm is as follows:
Prepare a string of the following notification’s parameters separated by | :
where <*>is the value of the parameter. All values should be treated as strings.
Apply HMAC-SHA256 function:
hash = HMAРЎ(SHA256, invoice_parameters, secret_key)
Compare X-Api-Signature-SHA256 header’s value with the result of step 2.
String and key of the signature are encoded in UTF-8.
Invoice data are in the notification’s body.
Field | Description | Type |
---|---|---|
bill | Invoice data | Object |
bill.billId | Invoice identifier in the merchant’s system | String(200) |
bill.siteId | Merchant’s site identifier in p2p.qiwi | String |
bill.amount | The invoice amount data | Object |
amount.value | The invoice amount. The number is rounded down to two decimals | Number(6.2) |
amount.currency | Currency identifier of the invoice amount (Alpha-3 ISO 4217 code) | String(3) |
bill.status | Invoice status data | Object |
status.value | Current invoice status | String |
status.changedDateTime | Status refresh date. Date format: YYYY-MM-DDThh:mm:ssZ | String |
bill.customFields | Additional invoice data provided by the merchant | Object |
bill.customer | Customer data of the invoice subject (if specified in the invoice) | Object |
customer.phone | The customer’s phone (if specified in the invoice) | String |
customer.email | The customer’s e-mail (if specified in the invoice) | String |
customer.account | The customer’s identifier in the merchant’s system (if specified in the invoice) | String |
bill.comment | Comment to the invoice | String(255) |
bill.creationDateTime | System date of the invoice creation. Date format: YYYY-MM-DDThh:mm:ssZ | String |
bill.payUrl | Pay form URL | String |
bill.expirationDateTime | Expiration date of the pay form link (invoice payment’s due date). Date format: YYYY-MM-DDThh:mm:ssZ | String |
version | Notification service version | String |
Response в†’
HEADERS
After receiving incoming notification request, you should verify its signature and returns the JSON-response. The processing result code should be returned in response.
Payment Form options
You can add parameters to URL from payUrl field of the response to invoice request.
Personalization
Personalization allows you to create a payment form with your style, customizable logo, background and color of the buttons.
You can create styles in your account on p2p.qiwi.com.
When setting up, you create a code linked to the style (for example, codeStyle ). To use style on the Payment Form, you must pass the variable: «themeCode»: «codeStyle» with respective code of the style in the customFields parameter of the invoice request or opening Payment Form URL.
Invoice Issue on Payment Form
Checkout Popup
The library has two methods: open an existing invoice and open your personal payform.