Notas de campo

Aceitando cripto no ponto de venda

Aceitar cripto no ponto de venda significa que um cliente no seu balcão paga com um ativo digital — uma stablecoin como USDC, ou uma moeda como BTC — e você, lojista, recebe em euros. O ativo que o cliente envia e o dinheiro que você recebe são duas coisas distintas, ligadas por uma cotação fechada no momento do toque. Nada no seu caixa, na sua contabilidade ou na sua conta bancária fica sabendo que houve cripto. O terminal mostra um preço em euros, o cliente escaneia um código e, poucos segundos depois, a venda fecha em euros — na mesma linha em que estaria se fosse no cartão. Cripto no ponto de venda é um meio de pagamento, não uma mudança contábil, e manter isso assim é todo o problema de engenharia.

Vale dizer essa premissa primeiro, porque boa parte da confusão sobre pagamentos em cripto vem de misturar duas perguntas que deveriam ficar separadas: como o cliente paga e em que moeda o lojista fica. Separe as duas e o resto segue naturalmente.

O problema que ele realmente precisa resolver

O lojista quer a venda, não a volatilidade. Ele não quer terminar o dia com um monte de ativos de valor incerto, nem ver o contador de repente falando duas moedas. Quer o preço fixado entre o toque e o recibo, o dinheiro em euros e uma conciliação igual à de qualquer outro dia de cartão. Uma loja que aceita cripto de forma ingênua não recebe nada disso: ela recebe um ativo cujo preço muda enquanto o cliente ainda decide, guarda numa carteira e herda uma segunda moeda na contabilidade, que alguém agora precisa avaliar e converter à mão. Por isso o objetivo de projeto é estreito e rigoroso — tornar o cripto visível em um único lugar, o momento do pagamento, e invisível em todos os outros.

Um toque: um QR, uma cotação travada, uma linha em euros

Acompanhe o fluxo no balcão. O caixa registra uma compra de €24.00. O terminal mostra o total em euros e gera um QR code que codifica a requisição — o valor, um endereço de destino ou invoice e um id de cotação de curta duração. O cliente escaneia com a própria carteira, vê exatamente o que vai enviar e confirma. O terminal monitora a rede à espera dessa transferência e, na confirmação, imprime um recibo em euros. Do lado do caixa, o ritmo é idêntico ao do cartão: total, apresentar, aprovar, recibo. Ninguém atrás do balcão digita um endereço nem lê um saldo em outra moeda que não o euro.

Colocar a requisição dentro do QR é o que torna seguro entregá-la ao celular de um desconhecido. O valor e o destino viajam no código, com checksum, então o cliente não consegue pagar para o endereço errado nem o valor errado por erro de digitação — a mesma ideia da identidade por construção no lado de cobranças, aplicada a um balcão. Um código que escaneia é um código correto; não há campo de texto livre para errar.

Liquidando em euros, para que a contabilidade nunca conheça cripto

Entre o ativo que o cliente envia e os euros que o lojista fica há uma conversão, e o lugar onde ela acontece é o segredo de tudo. O cliente envia USDC ou BTC; a plataforma converte e credita a conta do lojista em EUR. O razão do lojista só vê um crédito em euros e uma linha de tarifa em euros — o mesmo formato de uma liquidação de cartão — porque o ativo é convertido na plataforma, e não deixado numa carteira que o lojista teria de gerenciar. No fim do dia, a contabilidade é em euros de ponta a ponta. Não há cesta de moedas para marcar a mercado, nem segunda moeda nas contas, nem nada para fazer off-ramp na segunda-feira de manhã.

O trabalho do cliente é pagar com o que tiver. O trabalho do lojista é manter a contabilidade em uma só moeda. Um ponto de venda que liquida cripto em euros é apenas a máquina que impede que esses dois fatos se encontrem.
— Protocore · Engenharia de pagamentos

A taxa é travada, não perseguida

O medo é a volatilidade, e a resposta é uma cotação travada com contagem regressiva. Quando o terminal mostra o preço em euros, ele também fecha uma cotação válida por uma janela declarada — poucos segundos. O cliente paga dentro dessa janela, contra essa cotação, e os euros creditados ao lojista são os euros que estão na tela, não o que o mercado fez enquanto a carteira carregava. Se a janela expirar antes de o cliente confirmar, o terminal cota de novo: um novo código, uma nova contagem, um novo preço explícito — nunca uma variação silenciosa. O lojista nunca fica exposto à oscilação entre o toque e a confirmação; esse risco fica com quem fechou a cotação, não com o comerciante que só queria vender um café.

Quando o cliente demora ou o terminal está offline

Redes travam e lojas perdem conexão, então o comportamento offline precisa ser entediante de propósito. Dois casos. Quando o cliente demora, a cotação simplesmente expira e é refeita — um pagamento ou confirma dentro de uma janela ou não acontece, e não há venda pela metade para desfazer. Quando o próprio terminal fica offline, ele ainda pode exibir uma requisição de valor conhecido, mas não consegue fechar uma cotação nova nem confirmar a liquidação; então mantém a venda como pendente e concilia quando reconectar, em vez de fingir sucesso. A regra é que o recibo sai na confirmação, nunca na esperança: um recibo em euros significa que os euros estão contabilizados, e uma venda que o terminal não conseguiu confirmar permanece aberta e visível no console do operador, em vez de sumir em silêncio.

Onde o terminal encontra o gateway

O balcão é a face presencial da mesma stack de aceitação que roda online. Um toque de cripto presencial e um checkout por link de pagamento são o mesmo evento por baixo — uma requisição, um pagamento, uma liquidação em euros, um recibo — apresentados em superfícies diferentes. Assim, o lojista concilia cripto na loja e pedidos online em um só lugar, em euros, com as mesmas linhas de tarifa e as mesmas exportações, em vez de manter duas contabilidades que precisam ser grampeadas no fim do mês. O terminal está em /products/pos; o lado online dos mesmos trilhos está em /products/gateway; e o vocabulário — cotação, liquidação, adquirente, conciliação — está definido em /glossary.

A fronteira, sem rodeios

Se ninguém no seu balcão quer pagar em cripto, um terminal de cripto é a solução para um problema que você não tem — aceite cartões e siga em frente. Ele se justifica onde uma fatia real dos seus clientes já tem ativos digitais e prefere gastá-los a fazer off-ramp antes: certos corredores de viagem, certos públicos nativos do online, certas regiões onde stablecoins são simplesmente a forma como as pessoas guardam dinheiro para gastar. Nesses lugares, recusar o toque é recusar a venda. A mecânica acima — o QR, a cotação travada, a liquidação em euros, a regra de confirmar antes do recibo — é o que permite fazer essa venda sem assumir a volatilidade, a segunda moeda nem um projeto de contabilidade. O cripto continua sendo assunto do cliente; os euros continuam sendo seus.

Tem um sistema para construir?

Conte o problema. Voltamos com uma arquitetura e um plano.