Uma fatura cripto não paga deve permanecer aberta somente até o vencimento mostrado no checkout. Depois disso, não peça ao comprador que pague o link antigo: emita uma nova fatura se a venda continuar válida. Se ele disser que já pagou, solicite o hash e verifique a transferência real na blockchain; não decida por captura de tela.
“Não paga”, “transação pendente”, “vencida” e “paga em atraso” são situações distintas.
Tabela rápida de decisão
| Situação | Ação do lojista | Entregar o pedido? |
|---|---|---|
| Sem transação, fatura aberta | Reenviar o link original e aguardar | Não |
| Transação enviada antes do prazo, ainda pendente | Verificar o hash e aguardar confirmação | Ainda não |
| Sem transação, fatura vencida | Encerrar a tentativa; criar nova fatura se necessário | Não |
| Transferência confirmada depois do prazo | Verificar rede, token, destinatário e valor; aplicar a política de atraso | Decisão manual |
| Transferência não corresponde à fatura | Investigar antes de entregar ou reembolsar | Não |
| Nova fatura emitida depois do vencimento da anterior | Orientar o comprador a usar somente o novo link | Somente depois que a nova fatura for paga |
Se o valor estiver incorreto, use o fluxo para faturas pagas a menos ou a mais. Se a blockchain estiver errada, siga o guia de investigação e recuperação de rede incorreta. Não trate nenhum desses casos apenas como “pagamento tardio”.
A documentação do BTCPay Server separa faturas vencidas, parcialmente pagas e pagas em atraso. A API de faturas do Coinbase Business distingue estados open, paid, void e overdue. Os nomes variam, mas a regra operacional é a mesma: vencimento e evidência de pagamento devem ser avaliados separadamente.
O que o vencimento realmente significa
Vencimento é o fim da janela de pagamento. Ele não apaga uma transferência existente nem impede tecnicamente que alguém envie tokens depois para um endereço público. Ele sinaliza que o checkout e o sistema de pedidos não devem aceitar automaticamente um novo pagamento pelo pedido antigo.
Esse limite importa porque preço, estoque ou disponibilidade podem ter mudado; a cotação pode estar desatualizada; o comprador pode ter recebido outra fatura; uma transferência tardia pode ser confundida com outro pedido; e a entrega automática sem limite de tempo cria risco de duplicidade.
Use o prazo visível no checkout como fonte de verdade. Não invente outro prazo na conversa e não diga que é seguro pagar uma página vencida.
Como o GramPayBot trata o vencimento
O GramPayBot combina rede, token, destinatário, valor exato e janela de pagamento. Uma fatura vencida deixa de exibir opções de pagamento ativas. A correspondência automática normal considera transferências confirmadas dentro da janela; uma transferência posterior não transforma silenciosamente a fatura vencida em paid.
Os tokens ainda podem chegar diretamente à carteira controlada pelo lojista. Porém, “fundos chegaram ao endereço” e “a fatura foi paga nos termos definidos” são fatos diferentes. Verifique e registre uma decisão separada. Para o ciclo completo, consulte o fluxo de faturamento cripto para pequenas empresas.
Fatura aberta sem pagamento
- Reenvie o mesmo link de checkout.
- Peça o uso da rede, token e valor completo mostrados na página atual.
- Avise para não pagar após o vencimento visível.
- Mantenha o pedido aguardando.
- Entregue somente após uma transferência confirmada e correspondente.
Não crie várias faturas abertas para o mesmo pedido porque o comprador demorou a responder. Links paralelos aumentam o risco de pagamento duplicado.
Quando o comprador afirma que pagou
Peça o hash ou assinatura original, não uma imagem. Verifique:
- Rede: é a rede solicitada?
- Status: a transferência teve sucesso e confirmação suficiente?
- Token: contrato ou mint é o USDT/USDC genuíno?
- Destinatário: o endereço completo corresponde?
- Valor: todos os dígitos, inclusive o sufixo identificador, estão corretos?
- Horário: quando a transação entrou no bloco em relação ao vencimento?
- Reutilização: o hash já foi atribuído a outro pedido?
Uma transação enviada pode permanecer pendente até ser incluída e finalizada. A documentação do Ethereum explica esse ciclo de vida da transação. Não entregue enquanto o resultado for incerto. Use o checklist completo de verificação de pagamento.
Fatura vencida sem transferência verificada
- Registre a tentativa original como encerrada.
- Confirme que o comprador ainda quer concluir a compra.
- Reveja preço, disponibilidade e condições.
- Crie outra fatura com nova janela de pagamento.
- Informe claramente que apenas o novo link deve ser usado.
- Preserve o ID antigo para suporte e auditoria.
A substituta precisa de ID e estado próprios. Não altere o histórico para fazer duas solicitações parecerem uma só.
Mensagem sugerida:
A fatura anterior venceu e não deve ser paga. Criamos uma nova com o valor e prazo atuais; use somente o novo link. Se você já enviou uma transação, não pague novamente e envie o hash para análise.
Transferência confirmada após o vencimento
Depois de verificar tudo, lembre que o GramPayBot não oferece uma ação para mudar uma fatura já vencida para paid. Escolha um resultado comercial documentado:
- cumprir o pedido como exceção documentada fora da fatura vencida, se preço e disponibilidade não mudaram e a política permitir; a fatura permanece expired no GramPayBot;
- aplicar a um novo pedido com vínculo claro no registro;
- reembolsar se não houver possibilidade de entrega;
- manter em análise quando token, valor, titularidade ou cliente forem incertos.
Não aceite automaticamente apenas porque o valor parece correto. Tampouco reembolse automaticamente o endereço de origem: exchanges podem sacar de carteiras operacionais compartilhadas que não creditam devoluções ao comprador.
Procedimento seguro de reembolso
Uma transação confirmada não pode ser editada ou revertida pelo GramPayBot. Reembolso é uma nova transferência autorizada pelo lojista.
Verifique a transação original, rede, contrato, valor e carteira que recebeu. Autentique o cliente no canal do pedido, solicite e confirme um endereço de reembolso na mesma rede, explique o tratamento das taxas e associe o novo hash à fatura. Para valores maiores, use aprovação por duas pessoas.
Nunca solicite seed phrase ou chave privada. Ignore “serviços de recuperação” oferecidos por mensagem não solicitada.
Como evitar pagamento duplicado
O maior risco ocorre quando o comprador tem os links antigo e novo. Mostre o estado expired sem ambiguidade; envie o novo link no mesmo canal autenticado; escreva “não pague a fatura anterior”; peça que pare caso a primeira transação esteja pending; confira os dois registros antes da entrega; e contabilize cada hash aceito apenas uma vez.
Envie também o guia como pagar uma fatura com USDT ou USDC.
Registro para suporte
Guarde ID do pedido e contato, IDs das faturas original e substituta, vencimento com fuso horário, rede/token/endereço/valor esperados, hash informado, horário real do bloco, status e notas de verificação, decisão e aprovador, mensagens ao cliente e hash de reembolso.
Perguntas frequentes
É possível pagar uma fatura cripto vencida?
Pode ser tecnicamente possível enviar tokens ao endereço público, mas o comprador não deve fazê-lo. O checkout não aceita mais a operação, que exigirá análise manual.
A transação saiu antes do vencimento e confirmou depois. E agora?
Não use apenas o horário exibido pela carteira. Verifique inclusão no bloco, status e resultado da correspondência do sistema.
Devo estender a fatura antiga ou criar outra?
Crie outra, exceto quando o sistema oferecer uma extensão explícita e auditável.
O GramPayBot pode desfazer uma transferência tardia?
Não. Os fundos vão para a carteira do lojista. Qualquer reembolso é outra transação do titular.
Devo criar outra fatura se o comprador talvez já tenha pago?
Ainda não. Peça o hash e investigue primeiro a transferência inicial. Criar e pagar uma segunda fatura antes dessa verificação pode causar pagamento duplicado.
Próximo passo
Crie um link de pagamento cripto rastreável
Emita uma invoice em USDT ou USDC, envie um hosted checkout e acompanhe o status sem API.
Ver links de pagamento →