SDK

Пример криптоплатежа на JavaScript: рабочий поток сегодня

Пример криптоплатежа на JavaScript: рабочий поток на живом API v1, вызов с сервера и webhook, а также запланированный вызов SDK с пометкой roadmap.

Этот пример криптоплатежа на JavaScript показывает поток, который работает сегодня: сервер создаёт платёж через живой API v1, браузер переходит на платёжную страницу, а webhook подтверждает заказ. Вызов Low-Code SDK в конце — только предпросмотр из дорожной карты.

Поток в четыре шага

Клиент нажимает «оплатить», сервер создаёт платёж, браузер переходит на redirectUrl, а webhook подтверждает финальный статус. Каждый шаг — обычный HTTP-вызов или редирект, поэтому пример не требует особой библиотеки.

Вызов сервера на JavaScript

Обработчик на Node.js отправляет POST /api/v1/payment с заголовком x-api-key, номером заказа и ценой в USD, а затем возвращает браузеру redirectUrl. Ключ никогда не покидает сервер.

POST/api/v1/payment
x-api-key: sk_live_…

{
  "id": "order_1024",
  "price": 149.99,
  "paymentSystemId": 12
}

// 201 Created
{
  "data": {
    "id": "8f3k2a1c",
    "redirectUrl": "https://my.qvard.com/pay/8f3k2a1c"
  },
  "code": 201,
  "message": "success",
  "status": true
}

Сторона браузера

Странице нужна только кнопка, которая вызывает ваш обработчик и затем переходит по полученному redirectUrl. В браузере нет ни ключа, ни логики суммы.

Обработчик webhook

Endpoint webhook читает id и status, проверяет заголовок x-api-key и помечает заказ оплаченным при статусе paid. Делайте обработчик безопасным при повторе, потому что одно и то же сообщение может прийти дважды.

POSTyour-webhook-url
x-api-key: sk_live_…

{ "id": "order_1024", "status": "paid" }

Запланированный вызов SDK

Ожидается, что Low-Code SDK из дорожной карты откроет тот же поток со страницы одним вызовом. Это предпросмотр невыпущенного API, показанный только для ориентира, и его нельзя использовать в продакшене.

Проверка перед запуском

Создайте тестовый платёж, оплатите его на платёжной странице и убедитесь, что webhook получает финальный статус и помечает заказ.

JSroadmap: not released yet
// ROADMAP preview: the SDK is not released yet.
QvardCheckout.open({ amount: 149.99, currency: "USD", orderId: "order_1024" });

FAQ

Использует ли этот пример SDK?

Нет. Рабочий поток использует обычные HTTP-вызовы и редирект. Вызов SDK — только предпросмотр из дорожной карты.

Можно ли использовать вызов Qvardплатёжная страница.open() в продакшене?

Нет. SDK ещё не выпущен. Используйте API, redirectUrl и webhook.

Где должен храниться ключ API?

Только на сервере. В браузер попадает лишь redirectUrl.

Как понять, что платёж завершён?

Только когда webhook передаёт id и статус paid.

Похожие статьи

Похожие статьи