RugWard Pay
Estados, confirmaciones y pruebas de pago
El ciclo de vida de la factura en detalle: cuándo cuenta como pagada, qué significan pago insuficiente, pago excedente, tardía y vencida, cómo funcionan los reembolsos y cómo compartir una prueba de pago.
En esta página
El ciclo de vida de un vistazo#
open ──(payment seen)──▶ pending ──(enough confirmations, full amount)──▶ paid / overpaid
│ │
│ └─(quote expired + 10 min grace, still short)──▶ underpaid
├─(nothing arrives before expiry)──▶ expired
├─(payment seen only after quote expiry + 10 min)──▶ late
└─(merchant cancels, no payment yet)──▶ canceledReferencia de estados#
| Estado | Etiqueta en el panel | Significado | Qué hacer | ¿Final? |
|---|---|---|---|---|
open | Awaiting payment | Creada; aún no se ha visto ningún pago. | Esperar. | no |
pending | Payment detected, confirming | Se vio un pago pero aún no está confirmado, o solo llegó parte del importe mientras el tipo de cambio sigue fijado (el comprador puede enviar el resto). | Esperar. Todavía no envíes el pedido. | no |
paid | Paid | Los pagos confirmados cubren el importe cotizado (ver la tolerancia más abajo). | Envía el pedido. | sí |
overpaid | Paid (more than requested) | Pagada, y más de un 1% por encima del importe cotizado. | Envía el pedido; si quieres, devuelve el exceso desde tu billetera. | sí |
underpaid | Underpaid | El bloqueo del tipo de cambio (más 10 minutos de gracia) terminó con menos importe confirmado del debido. | Contacta con el comprador: pide la diferencia o reembolsa. | sí |
late | Paid after expiry | El pago llegó solo después del vencimiento de la cotización más 10 minutos. | Comprueba el importe y el tipo de cambio actual y decide: aceptar, pedir la diferencia o reembolsar. | sí |
expired | Expired | No llegó nada a tiempo. | Crea una factura nueva si el comprador aún quiere pagar. | sí |
canceled | Canceled | La cancelaste antes de cualquier pago. | — | sí |
Cada cambio de estado genera un evento de webhook (invoice.pending, invoice.paid, …). Consulta Webhooks.
¿Cuándo cuenta una factura como pagada?#
Para la moneda elegida por el comprador, RugWard suma los pagos confirmados que se vieron antes del vencimiento de la cotización más 10 minutos de gracia (así, una transacción emitida justo antes del plazo sigue contando). La factura queda:
- paid cuando ese total es al menos el importe cotizado menos una pequeña tolerancia: el desfase del importe único más un 0,1% (cubre billeteras que redondean los últimos dígitos);
- overpaid cuando supera en más de un 1% el importe cotizado.
Nunca se suman importes en monedas distintas. En Base, donde el 0,5% se divide on-chain, la comprobación se hace sobre el 99,5% que te llega.
Confirmaciones#
| Red | Necesarias |
|---|---|
| Bitcoin | 1 |
| Monero | 10 |
| Ethereum | 12 bloques |
| Base | 30 bloques |
| Arbitrum | 60 bloques |
| BNB Chain | 15 bloques |
| Polygon | 32 bloques |
| Solana | compromiso finalized |
Cómo detecta RugWard los pagos#
| Moneda | Se detecta automáticamente mediante | El comprador también puede pegar |
|---|---|---|
| Bitcoin | escaneo de tu dirección en busca del importe único exacto | id de la transacción |
| USDC / USDT en cadenas EVM (sin splitter) | eventos Transfer del token con el importe único exacto | hash de la transacción |
| ETH / BNB (sin splitter) | el hash de la transacción (lo envía automáticamente el botón de billetera) | hash de la transacción |
| ETH / USDC en Base (splitter) | el evento Paid del splitter con la reference de esta cotización, tu dirección, el token y una comisión de exactamente el 0,5% | hash de la transacción |
| SOL / USDC / USDT en Solana | la clave reference de Solana Pay | firma de la transacción |
| Monero | el id de la transacción más la tx key, o tu view key (dos nodos públicos deben coincidir) | id de la transacción (+ tx key) |
Protecciones integradas en la detección:
- Una transacción paga una factura. Una transacción solo puede acreditarse una vez por red y dirección de destino.
- Sin front-running. Un hash de transacción pegado por otra persona solo se acepta si coincide con el importe único exacto de esta cotización o lleva su reference.
- Sin transacciones antiguas. Una transacción minada antes de crearse la cotización no puede pagarla.
- Una transacción pegada con un importe distinto se rechaza con "Contact the merchant with the transaction id"; el comerciante lo resuelve a mano.
- El tipo de cambio se calcula solo en el servidor; el navegador del comprador nunca aporta un precio.
Reembolsos#
RugWard Pay no tiene custodia: el dinero ya está en tu billetera, así que RugWard no puede reembolsar, revertir ni hacer contracargos. Para reembolsar a un comprador, devuélvele tú mismo las monedas desde tu billetera, idealmente a una dirección que te indique el comprador (no automáticamente a la dirección de envío: puede pertenecer a un exchange). Guarda el id de la factura y los enlaces de las transacciones para tus registros.
Pruebas de pago#
Cada factura paid u overpaid tiene una página de prueba pública y compartible en https://rugward.com/pay/proof/<invoice id> (también en JSON en /api/pay/proof/<invoice id>). Muestra el importe en USD, el comerciante, cuándo se confirmó, el importe en moneda cotizado y el tipo de cambio con sus fuentes de precio, la dirección de cobro y cada transacción confirmada con un enlace al explorador. Cualquiera puede volver a comprobar esas transacciones en la blockchain pública.

Los buscadores no indexan las páginas de prueba. Las facturas no pagadas no tienen prueba (404).
El vencimiento en detalle#
- Vencimiento de la factura (de 15 minutos a 7 días): después, no se puede fijar un nuevo tipo de cambio.
- Vencimiento de la cotización (bloqueo del tipo de cambio): 30 minutos después de que el comprador elija una moneda. Si quedan menos de 5 minutos, volver a elegir la misma moneda fija un nuevo tipo de cambio.
- Gracia: los pagos vistos hasta 10 minutos después del vencimiento de la cotización siguen contando con normalidad.
- Una factura pasa a expired solo cuando tanto la factura como su última cotización (más la gracia) han terminado sin ningún pago.
Última actualización: 30 de octubre de 2026