Host-to-Host API

Crear un pago cripto y obtener un redirectUrl

Cómo crear un pago cripto y obtener un redirectUrl en una sola llamada a la API: POST /api/v1/payment, la cabecera x-api-key, importe en tu moneda (USD por defecto) y redirección.

Crear un pago y obtener un redirectUrl es una sola solicitud en Host-to-Host API v1 de Qvard. Esta guía explica los campos de la solicitud, la respuesta y cómo enviar al cliente al pago de forma segura.

Los campos de la solicitud

Envía un POST a /api/v1/payment con la cabecera x-api-key. id es tu identificador de transacción, price es el importe en la moneda indicada (USD por defecto), currency es un código ISO-4217 opcional como INR, RUB o EUR, y paymentSystemId es opcional. Mantén el id único por pedido para poder asociar la respuesta a tu registro. Una moneda no admitida se rechaza con 422 unsupported_currency, los decimales de más para esa moneda con 422 invalid_amount_precision y una moneda sin tipo de cambio con 422 rate_unavailable.

Cómo leer la respuesta

La respuesta contiene el id del pago y el redirectUrl, que apunta a la página alojada en https://my.qvard.com/pay/ seguida del id del pago. Guarda ambos valores junto al pedido antes de redirigir al cliente.

Redirigir al cliente

Envía al cliente al redirectUrl con una redirección HTTP normal o con un enlace en tu sitio. En la página alojada el cliente elige activo y red y ve el importe exacto a un tipo de cambio fijo.

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
}

Errores y reintentos

Si una solicitud falla, revisa tus registros antes de reenviarla, para que un pedido no genere dos pagos. Guarda el cuerpo de la respuesta para soporte y reintenta solo cuando confirmes que no existe pago para ese pedido.

Errores comunes

No pongas x-api-key en el código del frontend, no tomes la redirección como confirmación de pago y no envíes el precio en una moneda distinta de la indicada en el campo currency. El estado final siempre llega por webhook.

Un pedido online, paso a paso

Cuando el comprador pulsa pagar, tu servidor crea el pago con el id del pedido y el total del carrito y luego redirige al redirectUrl. Cuando el webhook informa de que está pagado, marcas el pedido como pagado.

FAQ

¿Tengo que enviar paymentSystemId?

No. Es opcional. Envíalo si quieres un método de pago concreto; si no, la página alojada ofrece las opciones disponibles.

¿Puedo reutilizar un redirectUrl para otro pedido?

No. Cada pago tiene su propio redirectUrl. Crea un pago nuevo para cada pedido.

¿Puede el cliente pagar desde un enlace que le envío por correo?

Sí. El redirectUrl es una página HTTPS normal, así que funciona en un correo o un chat. Los enlaces de pago sin código desde el panel están en la hoja de ruta.

¿Qué importe paga el cliente?

La página alojada muestra el importe exacto del activo elegido a un tipo de cambio fijo durante la vida de la factura.

Artículos relacionados

Artículos relacionados