BTCPay Server é um software livre para receber pagamentos em bitcoin, distribuído sob a licença MIT. Você pode executá-lo em seu próprio servidor ou usar a instalação de outra pessoa. Ele cria solicitações de pagamento, relaciona os recebimentos e ajuda a manter registros. O projeto em si não é uma conta à qual você precisa entregar dinheiro nem um intermediário que decide disputas sobre produtos.
Imagine uma livraria virtual. O cliente escolhe bitcoin e o BTCPay Server cria uma invoice, uma solicitação para pagar determinado valor. A página apresenta um endereço ou uma solicitação Lightning, conforme a configuração da loja. O programa acompanha o recebimento e comunica mudanças de estado ao comércio integrado. Assim, você não precisa identificar cada pagamento manualmente. Ele também pode atender um caixa físico ou receber doações. O código aberto permite examinar e modificar o programa, mas não comprova, por si só, a segurança de uma instalação específica. [1]
Para uma carteira existente, o servidor pode receber uma chave pública estendida, informação da qual deriva endereços de recebimento. As chaves privadas que autorizam gastos podem ficar fora do servidor, por exemplo em uma carteira de hardware. Uma carteira quente funciona de outro modo: seus segredos ficam em um dispositivo conectado à internet. O acesso a um nó Lightning, que processa pagamentos rápidos, também pode permitir gastos. Administrar o servidor e controlar o dinheiro são, portanto, questões distintas. A expressão self-hosted, ou hospedagem própria, não responde às duas por si só. [2] [3]
Um servidor de terceiros pode poupar instalação e manutenção. Mesmo recebendo em sua própria carteira, você depende de quem o administra. Um servidor modificado ou comprometido pode mostrar endereços do invasor no lugar dos seus. Obter a chave pública, por si só, não permite gastar moedas já recebidas; uma página adulterada, porém, pode desviar pagamentos futuros. Confira os recebimentos também em uma carteira independente. Um servidor próprio invadido corre o mesmo risco. O provedor externo influencia ainda a disponibilidade e a privacidade dos pagamentos. [4]
O livro pode ter preço em coroas tchecas enquanto o cliente paga em bitcoin. A invoice fixa cotação e valor por um período limitado. Processing significa que todo o valor solicitado foi pago, mas faltam condições de liquidação, como confirmações em blocos. Settled indica que elas foram cumpridas; Lightning normalmente não espera por um bloco. A loja também precisa tratar valores insuficientes, excedentes e pagamentos atrasados. Alterar um estado manualmente não cria confirmação na rede. Tampouco a conversão do preço exibido deposita coroas em sua conta bancária: converter por um plugin ou provedor é outro serviço, com condições e custos próprios. [5] [6] [3]
Os programas se conectam pela Greenfield API, uma interface de comunicação. A loja guarda o identificador da invoice junto ao pedido. Um webhook, mensagem automática do servidor, informa as mudanças; sua autenticidade deve ser verificada conforme a documentação. A chave de acesso API recebe apenas as permissões necessárias para aquela loja. Se a mesma mensagem chegar novamente, não se deve enviar outro livro. A volta do cliente à página de agradecimento também não comprova pagamento. Após uma interrupção, compare os registros locais com as faturas e os pagamentos efetivos. [7]
Lightning Network usa canais de pagamento para não registrar cada pagamento separadamente em um bloco. Seu nó precisa estar disponível e ter liquidez de entrada: espaço nos canais pelo qual os recursos possam chegar até você. Isso exige gestão contínua. Você pode contratar ajuda com liquidez, usar uma troca entre redes de pagamento ou um serviço de custódia que controle os fundos do cliente. Essas opções têm permissões, tarifas e riscos diferentes. O nome BTCPay Server na página não revela qual delas a loja usa nem garante o sucesso de todo pagamento. [8]
Os dados de recuperação da carteira não são uma cópia de segurança da loja inteira. Além das chaves, você precisa de registros de faturas, configurações e outros dados conforme a instalação. Em Lightning, iniciar um nó com o estado antigo dos canais é especialmente perigoso: uma restauração incorreta pode colocar os fundos em risco. Uma migração planejada difere da recuperação após uma falha. Durante a migração, o nó original não pode continuar mudando nem funcionar junto da cópia restaurada. Siga o procedimento da implementação usada. Teste a restauração Lightning isolada da rede e dos pares para não afetar canais ativos. O guia para Docker, um ambiente que executa os componentes da aplicação em contentores separados, aplica-se a esse método de instalação. [9]
A vantagem é poder decidir sobre sua infraestrutura de pagamentos. Alguém ainda precisa cuidar das atualizações, do acesso administrativo, dos serviços expostos à internet e de backups que possam ser restaurados. O software não retém um percentual de cada pagamento, mas hospedagem, equipamentos, taxas de rede e apoio com Lightning podem custar dinheiro. Evite guardar dados pessoais desnecessários. Se o livro se perder ou for devolvido, o comerciante trata a reclamação e o reembolso; os desenvolvedores do BTCPay Server não arbitram a venda. Os registros ajudam na contabilidade, mas não substituem todas as obrigações. [10] [3] [7]
O caixa caiu, a carteira continua lá
Uma loja usa somente os dados públicos de uma carteira externa quando seu servidor para de responder. O bitcoin já recebido sob o controle das chaves dessa carteira não desaparece. Porém, clientes podem não conseguir abrir novas páginas de pagamento e a loja perde a visão atual dos pedidos. Após a recuperação, ela confere a configuração de recebimento e concilia faturas com a carteira. O exemplo não vale da mesma forma para chaves secretas perdidas com uma carteira quente do servidor nem para restaurar canais Lightning com dados antigos.
Para ter uma visão mais completa, leia este verbete junto com Bitcoin Payment Processor, Bitcoin Point of Sale, Autocustódia, Lightning Network, Merchant Adoption, Bitcoin. Também há referências a este verbete em Bitcoin Coffee, Transaction Labeling, Bitcoin Payment Processor, Bitcoin Point of Sale.
01Usar BTCPay Server significa automaticamente autocustódia?+
Não. Verifique quem controla as chaves da carteira conectada e quais permissões o servidor ou serviço Lightning possui. Os dados públicos de uma carteira externa não autorizam gastos. Uma carteira quente ou um serviço de custódia pode funcionar de forma diferente. Mesmo sem chaves privadas, um caixa comprometido pode mostrar endereços incorretos.
02As palavras do backup da carteira recuperam tudo?+
Elas podem restaurar a carteira Bitcoin correspondente, mas não a lista de faturas, as configurações da loja nem automaticamente o estado dos canais Lightning. Essas partes precisam de backups e procedimentos próprios. Teste com segurança: uma cópia Lightning antiga não deve se comunicar com a rede como se fosse o nó atual.