Pagos

Página de pago

La página alojada con el QR del cliente, el QR como imagen y cómo armar tu propia pantalla.


Cada cliente trae dos enlaces públicos, que no piden clave: pay_url, una página lista para usar, y qr_url, el QR como imagen SVG. Puedes usar la página tal cual o construir tu propia pantalla con la dirección y el QR.

RutaDevuelveUso
Ruta/pay/{id}DevuelvePágina HTMLUsoRedirigir al usuario o abrirla en un WebView.
Ruta/pay/{id}/qr.svgDevuelveImagen SVGUsoInsertar el QR en tu propia pantalla.
Ruta/pay/{id}/statusDevuelveJSONUsoConsultar el avance de los depósitos desde el navegador o la app.

La página alojada#

  • Muestra el nombre de tu empresa, el QR de la dirección, la dirección con botón de copiar, los tokens aceptados y el depósito mínimo.
  • Advierte de la red: si el usuario envía por otra (Tron, Ethereum, BSC), el pago no llega.
  • Lista los últimos depósitos del cliente y se actualiza sola cada 3 segundos: "Recibido, confirmando…", "Confirmado", "Menor al mínimo" o "Anulado".
  • Se adapta a tema claro y oscuro y a pantallas de teléfono.

La página no tiene monto ni vencimiento: es la dirección permanente del cliente. El id del enlace es un UUID difícil de adivinar, pero quien lo tenga puede ver la dirección y los últimos depósitos (monto, token, estado, hash). No expone comisiones ni datos de metadata.

El QR#

URLContenido del QRCuándo usarlo
URLqr_urlContenido del QRSolo la direcciónCuándo usarloSiempre funciona: cualquier billetera o exchange lo lee. El usuario elige token, red y monto.
URLqr_url?token=USDTContenido del QREnlace EIP-681 del tokenCuándo usarloBilleteras que lo entienden abren la transferencia de USDT ya en la red correcta.
URLqr_url?token=USDT&amount=10Contenido del QREnlace EIP-681 con montoCuándo usarloAdemás deja el monto puesto. Útil junto con una cotización.
<img src="https://api.pasarela.hi-g.io/pay/3d8ed2f2-72d4-4c27-b606-a53b5a4db086/qr.svg?token=USDT&amount=10"
     alt="QR de pago" width="220" height="220">
  • El enlace EIP-681 tiene la forma ethereum:<contrato del token>@<chain id>/transfer?address=<dirección de depósito>&uint256=<monto en unidades mínimas>.
  • amount solo se aplica si también envías token. Un token desconocido responde 400 con Token no soportado.
  • No todas las billeteras ni los exchanges leen EIP-681. Muestra siempre también la dirección en texto, con la red y el token.
  • El monto del QR es una sugerencia para la billetera: el usuario puede cambiarlo y el depósito se procesa igual.

Tu propia pantalla#

Con address, tokens y qr_url del cliente tienes todo para dibujarla. Para el avance en vivo, consulta /pay/{id}/status cada pocos segundos: devuelve los últimos 10 depósitos y no necesita clave, así que se puede llamar desde el navegador.

curl https://api.pasarela.hi-g.io/pay/3d8ed2f2-72d4-4c27-b606-a53b5a4db086/status

La pantalla informa, el webhook acredita

Usa /status para lo que ve el usuario. El saldo acredítalo solo en tu servidor, al recibir deposit.confirmed con la firma verificada.