496 / 736BTCPAY

BTCPay Server

Sa propre infrastructure pour recevoir des paiements

Vous voulez accepter le bitcoin dans une petite boutique en ligne et savoir quelles commandes sont payées. BTCPay Server prépare la page de paiement du client et suit les encaissements pour vous. Il peut utiliser votre portefeuille sans recevoir les clés permettant de dépenser. Tout dépend toutefois du montage choisi et de la personne qui administre le serveur.

BTCPay Server est un logiciel libre de réception de paiements en bitcoin, distribué sous licence MIT. Vous pouvez l’exécuter sur votre serveur ou utiliser l’installation d’un tiers. Il crée des demandes de paiement, les rapproche des versements et facilite le suivi. Le projet n’est ni un compte auquel vous devez confier votre argent ni un intermédiaire chargé de trancher les litiges commerciaux.

Imaginons une librairie en ligne. Le client choisit le bitcoin et BTCPay Server crée une invoice, une demande de paiement d’un montant précis. La page affiche une adresse ou une demande Lightning selon les réglages du commerce. Le logiciel surveille l’encaissement et signale les changements d’état à la boutique connectée. Vous n’avez plus à attribuer chaque paiement à la main. Il peut aussi servir à une caisse physique ou à une collecte de dons. Le code ouvert permet d’examiner et de modifier le programme, sans garantir à lui seul la sécurité d’une installation particulière. [1]

Pour un portefeuille existant, le serveur peut recevoir une clé publique étendue, qui permet d’en dériver les adresses de réception. Les clés privées autorisant les dépenses peuvent rester ailleurs, par exemple dans un portefeuille matériel. Un portefeuille à chaud fonctionne autrement : ses secrets résident sur un appareil connecté à internet. L’accès à un nœud Lightning chargé des paiements rapides peut également permettre de dépenser. Administrer le serveur et contrôler l’argent sont donc deux questions distinctes. L’étiquette self-hosted, c’est-à-dire auto-hébergé, ne suffit pas à y répondre. [2] [3]

Un serveur tiers peut vous épargner installation et maintenance. Même si les paiements arrivent dans votre portefeuille, vous dépendez néanmoins de son administrateur. Un serveur modifié ou compromis peut afficher les adresses d’un attaquant à la place des vôtres. Posséder la clé publique ne lui permet pas, à elle seule, de dépenser les fonds déjà reçus ; une caisse falsifiée peut pourtant détourner les futurs paiements. Vérifiez donc aussi les encaissements dans un portefeuille indépendant. Un serveur personnel compromis présente le même risque. L’hébergeur influe en outre sur la disponibilité et la confidentialité. [4]

Le livre peut être vendu en couronnes tchèques alors que le client paie en bitcoin. L’invoice fixe le taux et le montant pour une durée limitée. Processing signifie que le montant demandé a été entièrement payé, mais que des conditions de règlement, comme les confirmations dans des blocs, restent attendues. Settled indique qu’elles sont remplies ; Lightning n’attend normalement pas de bloc. Le commerçant doit aussi traiter les montants insuffisants, excédentaires et les paiements tardifs. Modifier un état à la main ne crée pas de confirmation réseau. Convertir le prix affiché ne verse pas non plus des couronnes sur votre compte bancaire : le change par un module ou un prestataire constitue un autre service, avec ses conditions et coûts. [5] [6] [3]

Les programmes communiquent par Greenfield API, une interface prévue à cet effet. La boutique conserve l’identifiant de l’invoice avec la commande. Un webhook, message automatique du serveur, signale les changements ; il faut en vérifier l’authenticité selon la documentation. La clé d’accès API ne reçoit que les droits nécessaires à ce commerce. Si le même message arrive deux fois, il ne doit pas provoquer l’envoi d’un second livre. Le retour du client sur la page de remerciement ne prouve pas non plus le paiement. Après une panne, il faut rapprocher les données locales des factures et des versements réels. [7]

Lightning Network utilise des canaux de paiement pour éviter d’inscrire chaque paiement séparément dans un bloc. Votre nœud doit être disponible et disposer de liquidité entrante : de la capacité dans les canaux permettant aux fonds de vous parvenir. Il demande donc une gestion continue. Vous pouvez recourir à une aide pour la liquidité, à un échange entre réseaux de paiement ou à un service de garde contrôlant les fonds du client. Ces solutions ont des droits, frais et risques différents. Le nom BTCPay Server sur une page ne révèle pas la solution du commerçant et ne garantit pas la réussite de chaque paiement. [8]

Les données de récupération du portefeuille ne sauvegardent pas toute la boutique. En plus des clés, il faut les factures, les réglages et les autres données nécessaires au montage utilisé. Avec Lightning, redémarrer un nœud à partir d’un ancien état des canaux est particulièrement dangereux : une mauvaise restauration peut menacer les fonds. Un déménagement planifié diffère d’une reprise après incident. Pendant la migration, l’ancien nœud ne doit plus évoluer ni fonctionner ensuite à côté de la copie restaurée. Suivez la procédure de votre implémentation. Testez les restaurations Lightning à l’écart du réseau et des pairs pour ne pas toucher les canaux actifs. Le guide Docker, un environnement qui exécute les composants de l’application dans des conteneurs séparés, concerne ce mode d’installation. [9]

L’avantage est de décider de votre infrastructure de paiement. Il faut néanmoins gérer les mises à jour, l’accès administrateur, les services exposés à internet et des sauvegardes réellement restaurables. Le logiciel ne prélève pas de pourcentage sur chaque paiement, mais hébergement, matériel, frais réseau et assistance Lightning peuvent coûter de l’argent. Évitez de conserver des données personnelles inutiles. Si le livre se perd ou est retourné, le commerçant traite la réclamation et le remboursement ; les développeurs de BTCPay Server n’arbitrent pas la vente. Les factures facilitent la comptabilité sans remplacer toutes les obligations applicables. [10] [3] [7]

Exemple · BTCPAY

La caisse tombe en panne, le portefeuille reste

Une boutique utilise uniquement les données publiques d’un portefeuille externe lorsque son serveur cesse de répondre. Les bitcoins déjà reçus sous le contrôle de ses clés ne disparaissent pas. Mais les clients peuvent ne plus ouvrir de nouvelle page de paiement et la boutique ne voit plus l’état actuel des commandes. Après restauration, elle vérifie les réglages de réception et rapproche les factures du portefeuille. Cet exemple ne s’applique pas de la même façon à des clés perdues avec un portefeuille à chaud du serveur, ni à la restauration de canaux Lightning à partir de données anciennes.

Pour une vision complète, lisez aussi Bitcoin Payment Processor, Bitcoin Point of Sale, Auto-garde, Lightning Network, Merchant Adoption, Bitcoin. Cette entrée est également citée par Bitcoin Coffee, Transaction Labeling, Bitcoin Payment Processor, Bitcoin Point of Sale.

01BTCPay Server signifie-t-il automatiquement que je garde mes clés ?

Non. Vérifiez qui contrôle les clés du portefeuille connecté et quels droits possède le serveur ou le service Lightning. Les seules données publiques d’un portefeuille externe ne permettent pas de dépenser. Un portefeuille à chaud ou un service de garde peut fonctionner autrement. Même sans clés privées, une caisse compromise peut afficher de mauvaises adresses.

02Les mots de sauvegarde suffisent-ils à tout restaurer ?

Ils peuvent restaurer le portefeuille Bitcoin correspondant, mais pas les factures, les réglages du commerce ni automatiquement l’état des canaux Lightning. Ces éléments nécessitent leurs sauvegardes et procédures. Testez prudemment : une ancienne copie Lightning ne doit pas communiquer avec le réseau comme si elle était le nœud actuel.

DOC · 001BTCPay Server — Source repositorySource primaire DOC · 002BTCPay Server — Wallet setupDocumentation DOC · 003BTCPay Server — General FAQDocumentation DOC · 004BTCPay Server — Third-party hosting risksDocumentation DOC · 005BTCPay Server — Invoice lifecycleDocumentation DOC · 006BTCPay Server — Store rates and policiesDocumentation DOC · 007BTCPay Server — eCommerce integrationDocumentation DOC · 008BTCPay Server — Lightning optionsDocumentation DOC · 009BTCPay Server — Backup and restoreDocumentation DOC · 010BTCPay Server — MaintenanceDocumentation
Révisé le: Sources d’abord · Pas un conseil financier