Bitcoin Payment Processor est un logiciel ou un service qui crée des demandes de paiement, suit les fonds entrants et les rattache aux commandes. Il facilite la vente et la tenue des registres. Il ne fixe pas les règles du réseau Bitcoin et ne garde pas nécessairement les fonds : le contrôle des clés et le circuit des versements dépendent de la configuration.
Imaginons un client commandant un livre en ligne. La boutique demande au processeur une invoice, une demande de paiement précisant montant et devise, puis enregistre son identifiant avec le numéro de commande. Le client ouvre une page de paiement ou scanne un code QR et paie. Le lien conservé permet d’attribuer les fonds au bon achat. Sans lui, constater l’arrivée de bitcoin quelque part ne suffit pas. Revenir à une page « Merci pour votre commande » ne prouve pas non plus que la boutique a reçu le paiement. [1]
BTCPay Server peut produire des adresses de réception à partir des données publiques d’un portefeuille existant, sans ses clés privées permettant de dépenser. C’est différent d’un portefeuille à chaud dont les clés sont sur le serveur, ou d’un accès aux fonds d’un nœud Lightning chargé des paiements rapides. Un prestataire peut contrôler les fonds avant leur versement. L’étiquette non-custodial, qui signifie que les clés ne lui sont pas confiées, ne suffit donc pas. Vérifiez les permissions réelles, qui peut envoyer les fonds et si leur récupération nécessite une autorisation extérieure. [2] [6]
Le livre peut être affiché dans une monnaie courante tandis que le client envoie du bitcoin. BTCPay Server fixe alors montant et taux de change dans la demande pour une durée limitée. L’expiration n’empêche pas un transfert ultérieur d’arriver : la boutique doit le traiter correctement, comme les paiements insuffisants ou excessifs. Le montant et le taux initiaux restent enregistrés pour le rapprochement. Une nouvelle demande à un autre taux peut exiger un nombre différent de satoshis, les plus petites unités de bitcoin, sans changement du prix du livre. [3]
Chez BTCPay Server, Processing signifie que le montant demandé est payé, mais que certaines conditions de finalisation manquent encore, par exemple des confirmations dans les blocs. Settled indique qu’elles sont remplies ; les paiements Lightning n’attendent normalement pas de confirmation de bloc. Les autres services définissent leurs propres états. BitPay avertit explicitement que paid ne garantit pas le paiement. La règle d’expédition doit donc suivre la documentation du service choisi et le mode de paiement. Marquer manuellement une commande comme payée ne remplace pas la vérification du paiement réel. [3] [5]
Le processeur transmet les changements par webhook, un message automatique entre serveurs. La boutique en vérifie l’origine et le contenu. Pour BTCPay, HMAC-SHA256 est calculé sur les octets originaux du message avec un secret partagé : c’est un code d’authentification, pas une confirmation du réseau Bitcoin. BitPay ne signe pas sa notification IPN ; elle doit seulement déclencher une consultation de l’état réel par API, l’interface de communication des programmes. Un message peut revenir. La boutique enregistre donc le traitement de la commande pour éviter une seconde expédition, puis rapproche ses états avec le processeur après une panne. [4] [5]
Recevoir le paiement du client et recevoir le versement d’un service sont deux événements distincts. BitPay permet de choisir une devise de règlement prise en charge ainsi qu’un compte bancaire ou une adresse de cryptomonnaie ; une modification peut demander une approbation. Le commerçant examine aussi délais, limites, frais et contrôle des fonds avant versement. Une réception directe dans son portefeuille peut se passer de cette étape. Le système de vente doit distinguer ces modèles afin que « payé » ne donne pas une fausse idée de l’argent disponible. [6] [2]
Un remboursement n’efface pas la transaction Bitcoin initiale. La boutique traite la demande, détermine montant et devise, vérifie le destinataire et organise un nouveau paiement. Un lien permettant de réclamer le remboursement ne signifie pas encore que les fonds sont partis. Commande, demande de paiement, encaissement, taux, frais et remboursement restent documentés. Les rapports exportés aident la comptabilité sans satisfaire seuls toutes les obligations locales. Une confirmation du réseau ne tranche pas un litige de livraison et ne supprime pas les devoirs contractuels ou légaux liés à une réclamation. [7] [8] [10]
Un seul achat test réussi ne suffit pas avant le lancement. Testez paiements insuffisants, retards, notifications répétées et reprise après panne. Une clé API est un identifiant d’accès pour un programme : elle reçoit seulement les droits nécessaires à la boutique concernée. Les informations jointes doivent exclure les données client inutiles. L’exploitation propre demande hébergement, mises à jour et assistance ; Lightning exige aussi de gérer la liquidité, soit les fonds et la capacité disponible dans les canaux pour les paiements. Un logiciel gratuit ne rend pas l’exploitation gratuite. Disponibilité, protection des clés et intégration correcte se vérifient séparément. [1] [9]
Un livre payé, un message reçu de nouveau
La boutique relie une demande de paiement à la commande OBJ-101. Après vérification du paiement et satisfaction des conditions d’expédition, elle envoie le livre et enregistre le traitement. La même notification revient plus tard. Le système reconnaît la commande déjà traitée et ne crée pas de nouveau colis. Ouvrir simplement la page de remerciement n’aurait pas suffi à déclencher l’envoi.
Pour une vision complète, lisez aussi BTCPay Server, Bitcoin Point of Sale, Merchant Adoption, Lightning Network, Bitcoin. Cette entrée est également citée par Paiement en bitcoin chez Alza, Merchant Adoption, BTCPay Server, Bitcoin Point of Sale.
01Faut-il confier ses bitcoins au processeur ?+
Pas toujours. Le logiciel peut suivre les paiements vers votre portefeuille sans clés de dépense. Un portefeuille à chaud sur le serveur, l’accès à un nœud Lightning ou un service avec versement ultérieur impliquent d’autres conditions. Examinez le contrôle réel des fonds et les droits, pas seulement l’étiquette non-custodial.
02Puis-je expédier dès que le client revient sur la boutique ?+
Non. Le retour dans le navigateur n’est qu’une action sur une page. Il faut un état vérifié du paiement concerné et une règle de traitement adaptée à la méthode. Des messages répétés pour le même paiement ne doivent pas non plus déclencher plusieurs expéditions.