Модальное окно поверх страницыСкоро
Окно оплаты открывается поверх текущей страницы, и клиент сохраняет свой путь по корзине.
Окно оплаты открывается поверх вашей страницы модальным окном, и клиент не покидает магазин. Та же логика счёта, что и у платёжной страницы.
Ваша страница открывает окно оплаты со счётом, созданным через API.
Клиент платит внутри модального окна, без перехода по ссылке.
Финальный статус приходит через webhook, и окно закрывается.
Окно оплаты открывается поверх текущей страницы, и клиент сохраняет свой путь по корзине.
Сумма, актив, сеть и фиксированный курс работают так же, как на платёжной странице.
Статус заказа приходит из финального webhook, а не из состояния окна в браузере.
Для открытия окна оплаты достаточно вызова скрипта в магазине.
Qvard поддерживает несколько продуктов для приёма платежей. Выберите тот, который подходит вашему каналу продаж.
Коротко о том, как Qvard закрывает оплату, интеграцию и операционные процессы мерчанта.
Qvard даёт бизнесу готовый платёжный слой: клиент оплачивает через понятную страницу, а мерчант получает статусы, балансы и инструменты для вывода.
Витрина уже показывает USDT, USDC, BTC, LTC, TRX, BNB и ETH. Для USDT доступны разные сети, чтобы клиент мог выбрать привычный маршрут оплаты. TON и USDT TON — скоро.
Да. Интеграция строится вокруг создания платежа, редиректа на redirectUrl и финального webhook-статуса, чтобы заказ в вашей системе обновлялся автоматически.
Да. Можно адаптировать название магазина, логотип, визуальный стиль и тексты, чтобы платёжная страница выглядела частью вашего продукта. URL возврата (successUrl/failUrl) — скоро.
Создайте аккаунт мерчанта и пройдите проверку бизнеса. Протестировав тестовый платёж, подключите платёжную страницу или API и начните принимать реальные платежи.
Средства учитываются на балансах мерчанта отдельно по активам и сетям. Выводить можно вручную или настроить правила автоматического вывода.
Подключите виджет Qvard чекаута тремя способами:
Публичный ключ (qvard_pk_…) можно держать в коде страницы. Он может ТОЛЬКО создавать платежи для вашего магазина—не читает данные и не выводит средства. Работает только с доменов из Allowed origins и имеет лимит на частоту запросов.
Нужно на сервере считать сумму или проверить наличие? Используйте вкладку «Через ваш сервер»: ваш бэкенд создаёт платёж секретным ключом (qvard_sk_…), в браузер уходит только URL платежа.
<script src="https://qvard.com/checkout.js"></script> <script> // 1. Опишите платёж var checkout = new QvardCheckout({ mode: 'modal', publishableKey: 'qvard_pk_YOUR_PUBLISHABLE_KEY', price: 10, orderId: 'order-123', onSuccess: function (e) { // 3. Обработайте результат console.log('paid', e.paymentId); }, onError: function (err) { console.log(err.code); } }); // 2. Создайте и покажите окно checkout.open(); </script>
# Создайте платёж на сервере curl -X POST https://api.qvard.com/api/v1/payment \ -H 'x-api-key: qvard_sk_YOUR_SECRET_KEY' \ -H 'Content-Type: application/json' \ -d '{"price":10,"id":"order-123"}' # Ответ: {"id":"...","redirectUrl":"https://my.qvard.com/pay/..."} // Откройте окно платежа в браузере <script src="https://qvard.com/checkout.js"></script> <script> // 1. Опишите платёж var checkout = new QvardCheckout({ mode: 'modal', paymentUrl: 'https://my.qvard.com/pay/...', // Возьмите redirectUrl из ответа сервера onSuccess: function (e) { // 3. Обработайте результат console.log('paid', e.paymentId); } }); // 2. Создайте и покажите окно checkout.open(); </script>
<div id="checkout"></div> <script src="https://qvard.com/checkout.js"></script> <script> // 1. Опишите платёж var checkout = new QvardCheckout({ mode: 'inline', target: '#checkout', publishableKey: 'qvard_pk_YOUR_PUBLISHABLE_KEY', price: 10, onSuccess: function (e) { // 3. Обработайте результат console.log('paid', e.paymentId); } }); // 2. Создайте и покажите окно checkout.open(); </script>
Полный справочник по API: api.qvard.com/doc
| Параметр | Описание |
|---|---|
| mode | modal | inline |
| target | CSS-селектор или элемент DOM (только для inline) |
| publishableKey | Ваш публичный ключ—требуется для создания платежа в браузере |
| paymentId | UUID уже созданного платежа—требуется для серверного потока |
| paymentUrl | Полный URL платежа из ответа сервера—требуется для серверного потока |
| price | Сумма в USD (требуется с publishableKey) |
| orderId | Ваш ID транзакции (опционально, макс 128 символов, генерируется автоматически если отсутствует) |
| paymentSystemId | ID способа оплаты (опционально, из настроек аккаунта) |
| locale | Язык страницы платежа: en, ru, es, pt, tr, id, vi, fr, de (по умолчанию язык браузера) |
| theme | light | dark (опционально) |
| onSuccess | Callback при успехе платежа: function(e) { console.log(e.paymentId); } |
| onClose | Callback при закрытии окна без оплаты |
| onError | Callback при ошибке: function(err) { console.log(err.code, err.message); } |
Коды ошибок: invalid_mode, invalid_target, invalid_options, invalid_payment_url, network_error, invalid_key, origin_not_allowed, duplicate_order, rate_limited, invalid_request, payment_failed.
Протестируйте виджет с реальным демо-платежом перед интеграцией.
Открыть playground