SaaS e faturamento

Faturamento cripto para SaaS B2B

Como deixar clientes B2B pagarem faturas de SaaS em cripto: quando criar o pagamento, como conciliar e como tratar pagamentos a menor, renovações e reembolsos.

Alguns clientes B2B querem pagar as suas faturas em cripto: equipes internacionais, empresas com atrito bancário, empresas nativas de cripto. Atendê-los não é difícil, mas faturas se comportam de modo diferente do checkout de uma loja, e algumas decisões de projeto determinam se o seu financeiro vai gostar ou detestar. Este guia trata dessas decisões.

Por que uma empresa SaaS oferece faturamento cripto

Cripto raramente é a principal forma de uma empresa SaaS receber, e não precisa ser. É útil como opção adicional quando:

  • os clientes estão em países onde cartões ou transferências bancárias são lentos, caros ou pouco confiáveis;
  • o comprador é uma empresa nativa de cripto que já paga fornecedores em stablecoins;
  • você quer pagamentos que não dependam do horário bancário e que não possam sofrer chargeback.

Mantenha cartões e transferências bancárias para todos os outros. Cripto é mais uma linha na lista «como pagar» da sua fatura.

Como uma fatura difere de um checkout

O checkout de uma loja cria o pagamento no momento da compra. Uma fatura é emitida primeiro e paga dias ou semanas depois, muitas vezes por um time financeiro que segue um processo interno. Isso muda algumas coisas:

  • O valor é fixado em dólares, não em moedas. Você cota a fatura em dólares; o pagador envia o equivalente no ativo que usa.
  • A taxa de câmbio não pode ser mantida por semanas. Na Qvard a taxa fica fixada por uma hora a partir da criação do pagamento. Uma taxa definida na emissão da fatura estaria muito defasada quando ela fosse paga.
  • Há uma referência. Times financeiros precisam do número da fatura em cada pagamento para conciliar.
  • Os pagadores seguem fluxos de aprovação. Podem pagar em partes ou com atraso, então você precisa de regras claras para pagamentos parciais.

Crie o pagamento quando o cliente estiver pronto para pagar

A decisão de projeto essencial: não crie o pagamento cripto ao emitir a fatura. Crie-o quando o cliente decidir pagar.

Coloque um botão «Pagar com cripto» na página da fatura. Quando o cliente clica, o seu backend cria um pagamento com o número da fatura como id e o valor devido em dólares, e então redireciona o cliente à página de pagamento. A taxa fica fixada pela hora seguinte, que é exatamente a janela de que o cliente precisa para enviar a transferência.

Usar o número da fatura como id traz duas vantagens. Se o cliente clicar duas vezes ou a sua requisição for repetida, a Qvard devolve o pagamento existente para o mesmo id e método de pagamento em vez de criar um duplicado. E o webhook que informa o resultado leva o mesmo id, então você encontra a fatura sem tabela de correspondência.

Node.jspay-invoice.js
// Runs when the customer clicks "Pay with crypto" on invoice INV-2026-0142,
// not when the invoice is issued: the exchange rate is fixed for one hour.
async function payInvoiceWithCrypto(invoice) {
  const res = await fetch('https://api.qvard.com/api/v1/payment', {
    method: 'POST',
    headers: { Authorization: 'Bearer ' + process.env.QVARD_API_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({
      id: invoice.number,        // "INV-2026-0142": clicking twice returns the same payment
      price: invoice.amountUsd   // amount due, in US dollars
    })
  });
  if (!res.ok) throw new Error('Qvard ' + res.status);
  return (await res.json()).redirectUrl;   // open this payment page for the customer
}

Concilie com o webhook

Quando o pagamento é concluído, a Qvard envia um webhook ao seu servidor com o id (o número da sua fatura) e o status. O seu handler marca a fatura como paga e registra a transação. Três hábitos mantêm isso confiável:

  • Confira a assinatura no cabeçalho X-Qvard-Signature que acompanha o webhook (HMAC-SHA256 com a sua chave secreta) e rejeite divergências.
  • Responda com exatamente HTTP 200; caso contrário a notificação é repetida, até cinco tentativas em cerca de seis minutos.
  • Torne o handler idempotente, para que um evento repetido não registre o pagamento duas vezes.

O webhook informa o pagamento, não a fatura, então guarde junto da fatura o id do pagamento, a data e o status. Assim os seus contadores têm uma linha por pagamento para conferir com o extrato que esperam. O handler completo está em como aceitar pagamentos cripto em um site.

Pagamentos a menor e taxas de corretora

O chamado de suporte mais comum no faturamento cripto é o pagamento a menor. O pagador envia um pouco menos do que o necessário e a fatura não é quitada. Motivos típicos:

  • o cliente pagou de uma conta em corretora, e a corretora descontou a taxa de saque do valor enviado;
  • o cliente arredondou o valor;
  • o cliente enviou a transferência em duas partes.

Um pagamento a menor aparece com o status partial. Defina a política com antecedência e escreva-a na fatura: ou a fatura permanece aberta até a diferença chegar, ou você aceita pagamentos dentro de uma pequena tolerância. Faça a página da fatura mostrar o que foi recebido e o quanto ainda falta, para que o cliente complete o valor sem falar com o suporte.

Uma dica que você pode imprimir na fatura: se pagar de uma corretora, some a taxa de saque ao valor.

Renovações e assinaturas

Com cartão, uma assinatura cobra o cliente automaticamente. Um pagamento cripto é diferente: o cliente envia a transferência ele mesmo a cada vez, então uma renovação não pode ser «puxada» da carteira dele.

O padrão prático é emitir a fatura de renovação normalmente e enviar ao cliente um link para pagá-la, com o mesmo botão e a mesma criação de pagamento de uma primeira fatura. A Qvard cria um pagamento para cada requisição que você envia; a cobrança recorrente é feita pelo seu próprio sistema de faturamento, que cria um novo pagamento a cada período. Lembre o cliente antes do vencimento e, se oferecer desconto no plano anual pago em cripto, deixe isso visível na fatura.

Reembolsos e notas de crédito

Uma transferência cripto confirmada é definitiva, então um reembolso é uma nova transferência sua para o cliente. Combine o endereço com o cliente por escrito, pois uma transferência para um endereço errado não pode ser recuperada. A API da Qvard inclui uma chamada de pagamento (payout) para enviar fundos do seu saldo a um endereço, com o seu próprio id para que uma nova tentativa não envie o dinheiro duas vezes; você também pode sacar manualmente pelo painel.

Registre o reembolso contra a fatura original e emita a nota de crédito de costume, para que a sua contabilidade conte a mesma história que a blockchain.

Lista para a contabilidade

Pergunte ao seu contador sobre os pontos que dependem do seu país e prepare os dados de que ele vai precisar:

  • número da fatura, id do pagamento, data, valor em dólares e o ativo e a rede usados;
  • como você registra o recebimento e qualquer conversão para moeda fiduciária;
  • como é tratada a taxa de rede paga pelo cliente;
  • como e quando você saca para a sua carteira.

Isto é informação geral, não aconselhamento fiscal nem jurídico.

Onde a Qvard se encaixa

A Qvard é um gateway de pagamento cripto custodial: você cria um pagamento pela API, o cliente paga em uma página de pagamento hospedada em USDT ou USDC nas principais redes (ou em BTC ou LTC), e o status final chega ao seu servidor por webhook. Os fundos são creditados no seu saldo de lojista e você os saca para a sua carteira. Para equipes SaaS em particular, veja pagamentos cripto para SaaS; para o básico, o que é um gateway de pagamento cripto.

FAQ

Posso emitir faturas em cripto em vez de dólares?

Você emite a fatura em dólares americanos e o pagador envia o equivalente no ativo que escolher. Isso mantém os seus preços estáveis e a sua contabilidade em uma única moeda.

Por quanto tempo a taxa de câmbio é válida?

Na Qvard a taxa fica fixada por uma hora a partir da criação do pagamento. Crie o pagamento quando o cliente estiver pronto para pagar, não quando você emitir a fatura.

O que acontece se o cliente pagar menos do que a fatura?

O pagamento aparece com o status partial. Você pode manter a fatura aberta até a diferença chegar ou aceitá-lo dentro de uma tolerância que definir; informe a regra na fatura.

Posso cobrar uma assinatura automaticamente?

Não. Um pagamento cripto é enviado pelo cliente, então não pode ser cobrado automaticamente de uma carteira. O seu sistema de faturamento emite cada renovação e envia ao cliente um link de pagamento.

Artigos relacionados

Artigos relacionados