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
/pay/{id}Página HTMLRedirigir al usuario o abrirla en un WebView.
/pay/{id}/qr.svgImagen SVGInsertar el QR en tu propia pantalla.
/pay/{id}/statusJSONConsultar 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
qr_urlSolo la direcciónSiempre funciona: cualquier billetera o exchange lo lee. El usuario elige token, red y monto.
qr_url?token=USDTEnlace EIP-681 del tokenBilleteras que lo entienden abren la transferencia de USDT ya en la red correcta.
qr_url?token=USDT&amount=10Enlace EIP-681 con montoAdemás deja el monto puesto. Útil junto con una cotización.
<img src="https://api.pasarela.melenashair.com/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.melenashair.com/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.