RugWard Pay
Status, confirmações e provas de pagamento
O ciclo de vida da fatura em detalhe: quando conta como paga, o que significam paga a menos, paga a mais, atrasada e expirada, como funcionam reembolsos e como compartilhar uma prova de pagamento.
Nesta página
O ciclo de vida num relance#
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)──▶ canceledReferência de status#
| Status | Rótulo no painel | Significado | O que fazer | Final? |
|---|---|---|---|---|
open | Awaiting payment | Criada; nenhum pagamento visto ainda. | Aguardar. | não |
pending | Payment detected, confirming | Um pagamento foi visto mas ainda não está confirmado, ou só parte do valor chegou enquanto a trava de cotação ainda está valendo (o comprador pode enviar o restante). | Aguardar. Não envie ainda. | não |
paid | Paid | Pagamentos confirmados cobrem o valor cotado (veja a tolerância abaixo). | Envie o pedido. | sim |
overpaid | Paid (more than requested) | Paga, e mais de 1% acima do valor cotado. | Envie; devolva o excedente da sua carteira se quiser. | sim |
underpaid | Underpaid | A trava de cotação (mais 10 minutos de tolerância) terminou com menos do que o valor confirmado. | Fale com o comprador: peça a diferença ou reembolse. | sim |
late | Paid after expiry | O pagamento só chegou depois da expiração da cotação mais 10 minutos. | Confira o valor e a cotação de hoje e decida: aceitar, pedir a diferença ou reembolsar. | sim |
expired | Expired | Nada chegou a tempo. | Crie uma nova fatura se o comprador ainda quiser pagar. | sim |
canceled | Canceled | Você a cancelou antes de qualquer pagamento. | — | sim |
Cada mudança de status gera um evento de webhook (invoice.pending, invoice.paid, …). Veja Webhooks.
Quando uma fatura conta como paga?#
Para a moeda escolhida pelo comprador, o RugWard soma os pagamentos confirmados vistos antes da expiração da cotação mais 10 minutos de tolerância (assim, uma transação transmitida pouco antes do prazo ainda conta). A fatura fica:
- paid quando esse total é pelo menos o valor cotado menos uma pequena tolerância: o ajuste do valor único mais 0,1% (cobre carteiras que arredondam os últimos dígitos);
- overpaid quando ele passa mais de 1% do valor cotado.
Valores em moedas diferentes nunca são somados. Na Base, onde os 0,5% são divididos on-chain, a verificação é feita sobre os 99,5% que chegam a você.
Confirmações#
| Rede | Necessárias |
|---|---|
| Bitcoin | 1 |
| Monero | 10 |
| Ethereum | 12 blocos |
| Base | 30 blocos |
| Arbitrum | 60 blocos |
| BNB Chain | 15 blocos |
| Polygon | 32 blocos |
| Solana | commitment finalized |
Como o RugWard detecta pagamentos#
| Moeda | Detectada automaticamente por | O comprador também pode colar |
|---|---|---|
| Bitcoin | varredura do seu endereço em busca do valor único exato | id da transação |
| USDC / USDT em redes EVM (sem splitter) | eventos Transfer do token com o valor único exato | hash da transação |
| ETH / BNB (sem splitter) | o hash da transação (enviado automaticamente pelo botão da carteira) | hash da transação |
| ETH / USDC na Base (splitter) | o evento Paid do splitter com a reference desta cotação, o seu endereço, o token e uma taxa de exatamente 0,5% | hash da transação |
| SOL / USDC / USDT na Solana | a chave reference do Solana Pay | assinatura da transação |
| Monero | o id da transação mais a tx key, ou a sua view key (dois nós públicos precisam concordar) | id da transação (+ tx key) |
Proteções embutidas na detecção:
- Uma transação paga uma fatura. Uma transação só pode ser creditada uma vez por rede e endereço de destino.
- Sem front-running. Um hash de transação colado por outra pessoa só é aceito se corresponder ao valor único exato desta cotação ou trouxer a reference dela.
- Sem transações antigas. Uma transação minerada antes de a cotação ser criada não pode pagá-la.
- Uma transação colada com valor diferente é recusada com "Contact the merchant with the transaction id"; o comerciante resolve manualmente.
- A cotação é calculada apenas no servidor; o navegador do comprador nunca fornece um preço.
Reembolsos#
O RugWard Pay é sem custódia: o dinheiro já está na sua carteira, então o RugWard não pode reembolsar, reverter nem estornar nada. Para reembolsar um comprador, devolva você mesmo as moedas da sua carteira, de preferência para um endereço que o comprador indicar (não automaticamente para o endereço de envio: ele pode pertencer a uma corretora). Guarde o id da fatura e os links das transações nos seus registros.
Provas de pagamento#
Toda fatura paid ou overpaid tem uma página de prova pública e compartilhável em https://rugward.com/pay/proof/<invoice id> (também em JSON em /api/pay/proof/<invoice id>). Ela mostra o valor em USD, o comerciante, quando foi confirmada, o valor em moeda cotado e a taxa com as fontes de preço, o endereço de recebimento e cada transação confirmada com link do explorador. Qualquer pessoa pode reconferir essas transações na blockchain pública.

As páginas de prova não são indexadas por buscadores. Faturas não pagas não têm prova (404).
A expiração em detalhe#
- Expiração da fatura (15 minutos a 7 dias): depois dela, nenhuma nova cotação pode ser travada.
- Expiração da cotação (trava de taxa): 30 minutos depois que o comprador escolhe uma moeda. Se restarem menos de 5 minutos, escolher a mesma moeda de novo trava uma nova cotação.
- Tolerância: pagamentos vistos até 10 minutos depois da expiração da cotação ainda contam normalmente.
- Uma fatura só passa a expired depois que tanto a fatura quanto a última cotação (mais a tolerância) terminam sem pagamento.
Última atualização: 30 de outubro de 2026