Создание криптоплатежа и получение 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-редиректом или ссылкой на вашем сайте. На платёжной странице клиент выбирает актив и сеть и видит точную сумму по фиксированному курсу.
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-страница, она работает в письме или в чате. Платёжная ссылка из личного кабинета без кода — в планах.
Какую сумму платит клиент?
Платёжная страница показывает точную сумму выбранного актива по фиксированному курсу на время жизни счёта.
