Caso de uso para LNBits em um pequeno restaurante de hotel como processador de pagamento Bitcoin








Postado originalmente em Substack em 14 de abril de 2022. Atualizado aqui em 28 de dezembro de 2024.
Como usar este maravilhoso pacote de aplicativos LNbits com seu nó Lightning como um pequeno comerciante.
Para ler mais informações sobre LNbits, consulte este guia de introdução rápida.
LNBits podem ser usados como um processador de pagamento Bitcoin LN. Sim, eu sei, alguns de vocês diriam "mas use o BTCPay Server...etc".
Desta vez, vamos tentar usar mais ferramentas que estão disponíveis para comerciantes. Para alguns casos específicos, o LNbits pode se encaixar muito bem e estender o uso com suas extensões. O BTCPay é bom, está fazendo um ótimo trabalho, mas por outro lado o LNbits está oferecendo mais ferramentas e opções para um comerciante.
Descrição do cenário de caso de uso
Então, vamos pegar um cenário de caso de uso: um pequeno hotel e restaurante ou café bar, com também uma loja virtual para pedidos online, digamos a combinação comum Wordpress + Woocommerce Plugiin.
Com a extensão LNbits Market você pode construir sua própria loja virtual, sem a necessidade de uma instalação Wordpress.
Um comerciante quer o seguinte:
- receber pagamentos em bitcoin, de seus pedidos online do site, sem intermediários e taxas muito baixas
- os clientes também podem pagar com Bitcoin via Lightning Network no restaurante, de forma simples e diretamente ao garçom. Os clientes também devem poder dar gorjetas ao garçom, em sua própria carteira e também imediatamente liquidadas.
- tenha um TPoS simples, onde os funcionários apenas colocam o valor em sua moeda local e criam a fatura LN a ser paga.
- tenha uma loja offline de autoatendimento simples, por exemplo, durante a noite, para que os clientes possam pagar e levar alguns itens (cerveja, vinho, sanduíches, lanches). Usar a extensão LNURLVend pode ser uma boa solução.
- crie um tipo de "pontos de fidelidade" para clientes regulares e devolva sats usando um sistema de voucher usando a extensão LNURLw.
- os clientes também podem deixar gorjetas com sats em um "Tip Jar" ou LNURL-pay
- os clientes podem tocar algumas músicas legais no bar lounge, mas pagando uma pequena taxa usando a extensão LNBits Jukebox Livestream
... e muito mais... LNbits tem muitas extensões prontas, basta ativá-las, configurar alguns parâmetros simples e pronto, você está pronto para ir!
Mas antes de mais nada, precisamos preparar o LNBits para estar pronto para ampla acessibilidade para qualquer cliente e dispositivo. Como sabemos, no Umbrel todos os aplicativos estão por trás da rede Tor, então, como nem todos os clientes usarão o Tor (apenas os usuários avançados), precisamos dar acesso também aos usuários regulares conectados através da chamada "clearnet", que é basicamente o que "https://" indica.
Prepare seus LNBits do nó LN (Umbrel/Raspiblitz etc.) para serem visíveis na "clearnet"
Clearnet é o acesso regular à internet, domínio.com e/ou IP público.
A rede Tor é uma internet paralela, usando endereços .onion através de “http://” e não é (ainda) amplamente usada/conhecida e acessando serviços de pagamento pelo Tor, muitas vezes com bugs e complicados para usuários regulares interagirem entre si.
Então, digamos que o pequeno comerciante tenha um nó Umbrel pronto, alguns canais LN abertos, LNBits instalados e funcionando perfeitamente como está em seu endereço .onion.
Alguns aspectos a serem considerados:
- É recomendável configurar este nó no modo híbrido. Aqui está um guia incrível (por Hakuna) sobre como configurar seu nó no modo híbrido.
- O envio/recebimento entre carteiras LNBits internas pode ser permitido com esta linha no seu arquivo lnd.conf: allow-circular-route=1 (reinicie o lnd após a edição). Com isso, você pode usar carteiras LNbits com taxa interna zero, em pagamentos diretos.
- Aprenda a gerenciar o nó LN e ter boa liquidez. Ter um bom nó, boas taxas, boas rotas, é oferecer uma boa experiência para seus clientes poderem pagar você rápido e barato usando LN. Não seja ganancioso. Aqui eu escrevi um guia dedicado.
- Envolva seus clientes regulares para abrir canais com seu nó (se eles tiverem um nó LN). Isso resolverá muitos problemas com liquidez de entrada que você realmente precisa. A liquidez de entrada (capaz de receber pagamentos) pode ser muito cara às vezes, então se seus clientes estão acostumados a abrir canais com seu nó, isso ajudará muito, não apenas eles, mas também sua loja.
- Tenha sempre liquidez de entrada suficiente para receber pagamentos. É melhor que cada final de dia ou quando você teve um dia agitado, faça um loop dos seus canais com os sats recebidos, usando um serviço de swap, conforme descrito neste guia. Dessa forma, você sempre começará o dia com mais "espaço" em seus canais para receber pagamentos. Você também pode usar a extensão LNbits Boltz.
- LNBits não faz transações onchain, apenas LN. De qualquer forma, se você realmente quiser cobrar usando o endereço onchain, é possível usar a extensão SatsPay vinculada a uma chave xpub watch only usando a extensão "Watch-Only". Mas as cobranças onchain exigem pelo menos 3 confirmações (pelo menos 30 minutos de espera), então para um cliente não é tão bom deixá-lo esperando. Mas em casos especiais, sim, essa opção pode ser usada.
- Com a Extensão Boltz, você pode enviar toda a renda para sua carteira de hardware onchain sempre que um certo limite for atingido. Isso é muito poderoso, pois, uma vez instalado, você acumula sats imediatamente de forma autossuficiente.
- Tenha em mente que o LNBits ainda está em beta, então sempre há novos desenvolvimentos. Também está esperando por uma nova extensão aguardada para gerenciamento de usuários e acesso mais complexo.
- Salve sua URL de acesso aos seus usuários/carteiras criados em seus favoritos ou gerenciador de senhas, para também poder acessar detalhes sobre URL do lndhub, chave de administrador, chave de fatura etc. que você pode precisar para outras extensões agora e mais tarde.
Para abrir sua instância LNBits para o mundo clearnet, você tem estas opções (guias incríveis feitos por Hakuna e Uxellodunum):
- Configure sua instância LNBits existente no Umbrel com um proxy reverso nginx.
- Configure outra instância LNBits fora do seu Umbrel, em outro servidor VPS.
Configurar a loja virtual com LNBits
Ok, agora temos nossos LNBits acessíveis de fora com
https://lnbits.my-domain.com
(ou qualquer subdomínio que você queira escolher), todas as carteiras e funcionalidades são testadas e estão funcionando.
Em nossa loja Wordpress Woocommerce, podemos instalar o plugin LNbits Woo e configurá-lo para se conectar à nossa instância LNbits, com as chaves fornecidas na seção de carteira LNBits (walletID, invoiceID, watchonlyID).
Vá para sua carteira LNBits configurada para ser usada na loja virtual (você pode ter quantas quiser) e copie a string "invoice/read key".

Então vá para seu Wordpress - Woocommerce - Pagamentos - LNbits - e cole essa string na chave de API e em seguida adicione sua URL lnbits "https://lnbits.my-domain.com" e pronto.
É isso! Você pode começar a receber pagamentos em bitcoins através da Lightning Network. Sem páginas redirecionadas, sem intermediários, rápido e simples. O plugin LNbits está gerando a fatura LN na mesma página e exibida na etapa de pagamento. Uma vez feito, ele mostrará uma mensagem de confirmação e normalmente o cliente receberá por e-mail os detalhes do seu pedido.
Sim, o plugin é muito básico, sem muitas opções, para personalizar o texto no pagamento etc, mas é bom o suficiente para começar a receber pagamentos com bitcoin.
Recebendo pagamentos na loja (no local) por funcionários
Bem... este é outro aspecto sensato.
Precisamos dar a eles acesso limitado aos fundos da carteira da loja, apenas para criar faturas, sem poder gastar a partir daí. E a LNbits pode fazer isso de uma maneira maravilhosa.
Então supomos que não temos nenhuma integração em nosso próprio sistema PoS com pagamentos LNbits ou bitcoin, consideramos BTC como dinheiro, então podemos apenas receber o pagamento de uma maneira separada, como fazemos com dinheiro. No sistema de contabilidade é marcado como "pagar em dinheiro" ou qualquer nome que você queira usar, não importa, é dinheiro.
Então o garçom/funcionário precisará apenas de uma maneira simples de gerar uma fatura LN ou ter um LNURL geral pronto para receber pagamentos.
LNbits têm abordagens diferentes, você pode usar aquela que melhor se adapta à sua atividade específica e tipo de situações.
Podemos usar as seguintes extensões LNbits:
- LNDhub (carteira de faturas) configurada no dispositivo do garçom/funcionário. Cada garçom/funcionário pode ter o seu próprio, para melhor rastreamento
- LNURL-pay código QR, impresso em um papel. Cada garçom pode ter seu próprio LNURL / Endereço LN para melhor rastreamento. Quando o cliente paga, ele apenas mostra ao garçom a confirmação na tela do seu dispositivo e pronto. É muito difícil e inútil falsificar um pagamento LN. Lembre-se, os pagamentos BTC/LN são irreversíveis.
- Extensão TPoS, configurada em cada dispositivo garçom/funcionário
- LNURL-PoS offline com os pequenos dispositivos offline, caso você não tenha uma boa cobertura WiFi, você tem um terraço que não tem conexão. Também disponível como aplicativo móvel (pode ser executado em qualquer dispositivo Android antigo, sem internet).
- Extensão Scrub que pode encaminhar automaticamente os sats para um endereço externo dedicado.
Dicas para garçons
Funcionários/garçons podem ter sua própria carteira LN pessoal para gorjetas, ou você pode configurar carteiras dedicadas em sua instância LNBits e dar a eles acesso total a essas carteiras para que possam usá-las no aplicativo móvel Bluewallet ou Zeus.

As carteiras LNBits também podem ser usadas como aplicativo da web no celular, basta salvar a URL da carteira como favorito do widget da web e abri-la diretamente. Funciona perfeitamente.
Para Tip Jar comum geral, pode ser usada a extensão LNbits dedicada, fácil de configurar e apresentada como uma página da web simples. Ou pode ser usado um código QR LNUL-pay dedicado, com sua própria carteira, para separar das cobranças regulares.
Outra maneira seria usar a extensão SplitPayments onde pode ser definida a quantidade de sats que vai para o garçom, do total de cada pagamento. Muito fácil de configurar.
Contabilidade
No final do dia, quando os garçons/funcionários farão sua contagem de fim de dia, no sistema regular e apenas compararão com o que foi cobrado no sistema LNBits. Um supervisor com acesso total também pode exportar todas as transações para um arquivo csv e/ou imprimi-lo.
Nesta seção, talvez no futuro o LNbits tenha um sistema de contabilidade melhor, etiquetagem de transações, personalização. Agora é básico, mas o suficiente para funcionar.
Além disso, este é o momento em que um supervisor/dono de loja trocará os fundos dos canais LN para uma carteira onchain e deixará os canais quase vazios para estarem prontos para o dia seguinte para receber mais sats.
Sistema de créditos de fidelidade
Se você tem alguns clientes regulares que podem pagar adiantado pelo seu consumo e obter descontos, você pode usar um sistema de cartões/dispositivos NFC carregados ou simplesmente criar uma carteira LNDHub para cada cliente de fidelidade, onde eles carregam com sats e os gastam de volta em seu restaurante. Dessa forma, as taxas serão 0 para eles e você terá um melhor controle desses "pontos de fidelidade".
Além disso, o cliente tem controle total de sua carteira LN, que pode ser importada para seu dispositivo e usada como uma carteira LN regular, se quiser.
Há uma maneira de criar alguns cartões/dispositivos NFC para essas carteiras. Um exemplo aqui. Assim, os clientes podem usar esses dispositivos para pagar na loja. Não há necessidade de outros aplicativos. Aqui estão mais detalhes sobre os cartões NFC e como personalizá-los.
Ou você pode simplesmente criar alguns vouchers de retirada LNURL e dá-los aos seus clientes regulares, como sistema satsback. Fácil, rápido, sem complicações, basta imprimi-los com sua impressora de tickets regular, o cliente os retira quando quiser ou simplesmente os entrega a outra pessoa.
Máquina de Vendas Offline
Digamos que você também tem um serviço de acomodação (hotel) próximo ao seu restaurante e durante a noite (quando você não tem pessoal disponível) você quer oferecer aos seus convidados uma maneira simples de comprar alguns lanches ou bebidas.
Esta opção pode ser usada também para o frigobar do quarto.
Então uma caixa simples/máquina de vendas com um sistema para receber pagamentos LN offline, já está disponível com LNbits. Você pode escolher qualquer tamanho ou tipo de caixa, o importante é vinculá-la aos seus LNbits conforme descrito no tutorial.
Aqui está uma demonstração e como construí-la. O sistema é simples: o cliente escaneia o QR, paga, o item é descartado. A máquina não precisa de acesso à internet.
Loja offline
Digamos que você queira implementar um sistema de venda rápida de produtos/menus para levar para casa. Então, algum tipo de semi self-service.
Você tem um monitor do lado de fora da loja ou apenas um outdoor, listando seus produtos oferecidos para levar para casa.
O cliente escaneia o LNURL do produto desejado, paga e recebe de volta uma palavra como "prova" do pagamento. As palavras podem ser configuradas como você desejar e alteradas quando quiser.
Então o cliente entra no seu local para um lugar especial onde você entrega e apresenta essa(s) palavra(s) paga(s) pelos produtos. O funcionário tem então o comprovante de pagamento e apenas entrega.
Aqui está um tutorial de demonstração de como configurar e funciona.
Aqui também está uma demonstração de como pagar com sats por uma cerveja com um smart tap.
Outro exemplo de cenário de caso de uso aqui é como comprar sanduíches com LN.
Jukebox de música DJ Lounge
Digamos que seus clientes querem ouvir uma boa música em seu bar/restaurante, escolhendo suas próprias músicas preferidas. Você não quer deixar todo mundo mudar a música, mas apenas para aqueles que pagam uma taxa.
Então você pode configurar um dispositivo de música simples, vinculá-lo ao seu sistema LNbits e deixar os clientes pagarem pelas músicas e tocá-las.
Incentive seu ambiente e ofereça uma experiência agradável aos seus clientes.
Aqui está mais documentação sobre como configurar a extensão Jukebox.
Aqui está um tutorial em vídeo de demonstração.
Personalização especial e backup
Caso você queira restringir o acesso à sua instância "pública" do LNbits, você pode editar o arquivo de configurações fazendo o seguinte.
Adicione apenas contas de usuários específicas criadas nas configurações do ambiente LNBits:
- Digite SSH no seu nó Umbrel
- edite o arquivo yml conf: sudo nano ~/umbrel/apps/lnbits/docker-compose.yml
- adicione na seção #App a linha: LNBITS_ALLOWED_USERS: YOUR_USER_ID_FROM_WALLET_URL com vírgula separada se você tiver mais usuários para permitir
- reinicie o aplicativo lnbits: sudo ~/umbrel/scripts/app stop lnbits && ~/umbrel/scripts/app start lnbits
Em breve estará disponível uma extensão de administração de gerenciamento de usuários completa, então não será necessária essa personalização e também restringirá a criação de novas carteiras. Mas até lá você pode usá-lo assim.
Se você receber um erro como lnurl.Exceptions.InvalidURL ao criar um LNURL (pagar ou sacar), adicione esta linha no arquivo .env ou no mesmo arquivo yml mencionado acima.
FORWARDED_ALLOW_IPS=*
Também um aspecto importante: BACKUP do banco de dados.
Para salvar um backup da sua instância LNbits (incluindo histórico de tx, carteiras, contas), você pode salvar a pasta do banco de dados localizada em: ~/umbrel/app-data/lnbits/data
Em especial o arquivo sqlite3 do banco de dados, mas é bom salvar toda a pasta de dados para todas as extensões usadas.
Se você precisar editar diretamente neste banco de dados sqlite, você pode instalar um editor de visualizador simples para sqlite. Mais detalhes aqui. Então você pode abrir o arquivo sqlite db e editar todas as tabelas e itens necessários, ajustando saldos, removendo a edição de usuários/carteiras existentes.
Conclusão
Então, é isso, um cenário completo de como você pode usar esta solução incrível LNbits para um restaurante de hotel. Você pode estender isso para sua atividade específica, cobrindo todas as necessidades que podem ser feitas com carteiras LNBits lndhub, agora você já vê o quão poderoso é e fácil de configurar, tendo custódia total de seus fundos.
Espero que este guia possa inspirar mais comerciantes a começar a aceitar Bitcoin.
Além disso, aqueles entusiastas do Bitcoin ajudando aqueles comerciantes, que não têm habilidades suficientes, a construir boas soluções para pagamentos de bitcoin.
Se você não é especialista em tecnologia construindo você mesmo esta solução, aqui está uma equipe de especialistas em LNbits da SparkPay (Portugal) ou na Alemanha / Áustria pela Business Sats que pode construir esta solução para você.