Интеграция

Интеграция криптоплатежей в бэкенд, по шагам

Интеграция криптоплатежей в бэкенд пошагово: создание платежей с сервера, перенаправление клиента, проверка webhook и сверка заказов. Пример кода.

Интеграция криптоплатежей в бэкенд состоит из трёх частей: серверного вызова, создающего платёж, перенаправления клиента и webhook, который закрывает заказ. Этот гайд проходит каждый шаг с API v1 от Qvard.

Шаг 1: сначала сохраните заказ

Запишите заказ в базу со статусом вроде pending до вызова API. Используйте номер заказа как поле id, чтобы платёж и заказ были связаны с самого начала.

Шаг 2: создайте платёж

С вашего бэкенда отправьте POST на /api/v1/payment с заголовком x-api-key, номером заказа в id и итоговой суммой в price. Храните ключ API в конфигурации сервера, а не во фронтенд-коде.

Шаг 3: перенаправьте клиента

Сохраните полученный redirectUrl вместе с заказом и отправьте клиента туда. На платёжной странице клиент выбирает актив и сеть и платит точную сумму.

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

{
  "id": "order_1024",
  "price": 12499.00,
  "currency": "INR",
  "paymentSystemId": 12
}

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

Шаг 4: закройте заказ по webhook

Ваш webhook-endpoint проверяет x-api-key, находит заказ по id и ставит paid, когда статус paid. Это единственное место, где оплата подтверждается.

Шаг 5: сверка и мониторинг

Раз в день проверяйте заказы, которые слишком долго остаются в ожидании, и сверяйте их с записями о платежах. Логируйте каждый ответ API и каждый webhook для поддержки.

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

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

Советы по архитектуре

Держите код платежей в отдельном небольшом сервисе, отдельно от страниц оформления заказа. Тогда обработчик webhook можно менять или добавлять второй канал, не трогая остальной магазин.

FAQ

Какие языки бэкенда подойдут?

Любой язык, который умеет отправлять HTTPS POST с JSON и принимать webhook. API — обычный HTTP, SDK не требуется.

Куда ставить webhook-URL?

Используйте публичный HTTPS-endpoint на вашем бэкенде. Он должен принимать POST и проверять x-api-key перед обновлением заказа.

Нужна ли отдельная интеграция для каждой криптовалюты?

Нет. Актив и сеть клиент выбирает на платёжной странице, поэтому ваш бэкенд создаёт один платёж в USD и читает один статус.

Можно ли сначала протестировать всю интеграцию?

Да. Оплатите тестовый платёж по демо-сценарию и убедитесь, что обработчик webhook срабатывает, прежде чем принимать реальные платежи.

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

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