Host-to-Host API

Создание криптоплатежа и получение redirectUrl

Как создать криптоплатёж и получить redirectUrl одним вызовом API: POST /api/v1/payment, заголовок x-api-key, сумма в вашей валюте (по умолчанию USD) и редирект на оплату.

Создание платежа и получение redirectUrl — это один запрос в Host-to-Host API v1 от Qvard. В этом гайде разобраны поля запроса, ответ и безопасный переход клиента на оплату.

Поля запроса

Отправьте POST на /api/v1/payment с заголовком x-api-key. id — это ваш номер транзакции, price — сумма в валюте, currency — необязательный код ISO-4217 (например, INR, RUB или EUR; по умолчанию USD), платежиystemId необязателен. Делайте id уникальным для каждого заказа, чтобы ответ можно было сопоставить с вашей записью. Неподдерживаемая валюта отклоняется с 422 unsupported_currency, лишние знаки после запятой для неё — с 422 invalid_amount_precision, валюта без курса — с 422 rate_unavailable.

Чтение ответа

В ответе приходят id платежа и redirectUrl, который указывает на страницу https://my.qvard.com/pay/ с id платежа на конце. Сохраните оба значения вместе с заказом до того, как перенаправите клиента.

Перенаправление клиента

Отправьте клиента на redirectUrl обычным HTTP-редиректом или ссылкой на вашем сайте. На платёжной странице клиент выбирает актив и сеть и видит точную сумму по фиксированному курсу.

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
}

Ошибки и повторы

Если запрос не прошёл, сначала проверьте свои записи, чтобы один заказ не получил два платежа. Логируйте тело ответа для поддержки и повторяйте запрос, только убедившись, что платежа по этому заказу нет.

Частые ошибки

Не кладите x-api-key во фронтенд-код, не считайте редирект подтверждением оплаты и не передавайте цену в валюте, отличной от указанной в поле currency. Финальный статус всегда приходит по webhook.

Онлайн-заказ по шагам

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

FAQ

Обязательно ли передавать платежиystemId?

Нет, поле необязательное. Передавайте его, если нужен конкретный способ оплаты; иначе страница предложит доступные варианты.

Можно ли использовать один redirectUrl для другого заказа?

Нет. У каждого платежа свой redirectUrl. Создавайте новый платёж для каждого заказа.

Может ли клиент оплатить по ссылке, которую я отправил письмом?

Да. redirectUrl — обычная HTTPS-страница, она работает в письме или в чате. Платёжная ссылка из личного кабинета без кода — в планах.

Какую сумму платит клиент?

Платёжная страница показывает точную сумму выбранного актива по фиксированному курсу на время жизни счёта.

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

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