Ce guide explique comment mettre en place des paiements en bitcoins sur votre site web en utilisant Electrum. Nous utiliserons des requêtes de paiement signées SSL, en suivant la procédure suivante BIP-70 standard. Cette documentation est à jour pour Electrum 4.0 et les versions ultérieures.
Avant de commencer, assurez-vous d'avoir
- Un certificat SSL valide (signé par une autorité de certification, comme le certificat gratuit LetsEncrypt).
- La version de développement d'Electrum est installée.
N'oubliez pas de lancer la commande de mise à jour du sous-module pendant l'installation.
Configurer votre certificat SSL dans Electrum
Pour activer les connexions sécurisées, vous devez ajouter votre certificat SSL à Electrum. Utilisez ces commandes dans votre terminal :
electrum -o setconfig ssl_keyfile /path/to/ssl/privkey.pem
electrum -o setconfig ssl_certfile /path/to/ssl/fullchain.pem
Pour des instructions plus détaillées sur l'ajout de SSL à Electrum, consultez la page Configurer SSL pour Electrum.
Création et utilisation de votre porte-monnaie de commerçant
Mettez en place un portefeuille sécurisé pour vos transactions commerciales. Ce processus permet de protéger vos crypto-monnaies même si votre serveur marchand est compromis.
- Créer un nouveau portefeuille
Sur un ordinateur sécurisé, créez un nouveau portefeuille :
electrum create
Il est préférable d'utiliser un portefeuille distinct pour votre entreprise, et non pour votre portefeuille personnel.
- Exporter la clé publique principale
Toujours sur votre ordinateur sécurisé, exportez la clé publique principale (xpub) :
electrum getmpk -w .electrum/wallets/your-wallet
- Configuration du serveur marchand
Sur votre machine serveur, restaurez le portefeuille en utilisant la clé publique principale exportée :
electrum restore xpub...............................................
Remplacer xpub...
avec votre clé publique principale actuelle
- Configurer les paramètres du serveur.
electrum -o setconfig payserver_address yourdomain.com:80
Remplacer yourdomain.com
avec votre domaine actuel.
Démarrer le démon Electrum
Après avoir configuré votre portefeuille en lecture seule, vous devez lancer Electrum en tant que service d'arrière-plan. Voici comment procéder :
- Démarrer le Daemon
Exécutez cette commande pour démarrer Electrum en tant que démon :
electrum daemon -d
Ceci lance Electrum en mode démon, lui permettant de fonctionner en arrière-plan.
- Chargez votre portefeuille
Ensuite, chargez votre portefeuille dans le démon en cours d'exécution :
electrum load_wallet
Cette commande rend votre portefeuille actif et prêt à être utilisé.
Arrêt du démon
Si vous avez besoin d'arrêter le démon Electrum à un moment donné, utilisez cette commande :
electrum stop
Ceci arrêtera en toute sécurité le démon Electrum.
Créer une demande de paiement signée
electrum add_request 0.5 -m "test"
{
"URI": "bitcoin:bc1q3hr4xnta7s4jgeymjhs498ygqa53qkjxqhlx3z?amount=0.5&message=test&time=1589115653&exp=3600",
"address": "bc1q3hr4xnta7s4jgeymjhs498ygqa53qkjxqhlx3z",
"amount": 50000000,
"amount_BTC": "0.5",
"bip70_url": "https://yourdomain.com:80/bip70/bc1qyr5xx5jkue3k72sldm5xa0taqs3n2achupymz8.bip70",
"exp": 3600,
"id": "63822b69013",
"memo": "test",
"status": 0,
"status_str": "Expires in about 1 hour",
"time": 1589115653,
"type": 0,
"view_url": "https://yourdomain.com:80/r/pay?id=bc1q3hr4xnta7s4jgeymjhs498ygqa53qkjxqhlx3z"
}
Voici un aperçu des principales informations :
URI
: Un URI Bitcoin qui comprend le montant, le message, l'horodatage et l'expiration.address
: L'adresse Bitcoin pour le paiement.amount
: Le montant demandé en satoshis.amount_BTC
: Le montant demandé en BTC.bip70_url
: L'URL de la demande BIP70 signée.view_url
: L'URL d'une page web affichant la demande.
La sortie de la commande comprend deux URL importants :
bip70_url
: Il s'agit de l'URL de la demande signée de l'IBP70.view_url
: Il s'agit de l'URL d'une page web qui affiche les détails de la demande.
Pour consulter votre liste actuelle de demandes, utilisez la fonction list_requests
commande.
Pour supprimer toutes les demandes de la liste, utilisez l'option clear_requests
commande.
Ouvrez la page de demande de paiement dans votre navigateur
Après avoir créé une demande de paiement, vous pouvez la consulter dans un navigateur web.

Voici comment utiliser la page de demande de paiement :
- Ouvrir le
view_url
à partir du résultat de la demande de paiement dans votre navigateur web. - La page affiche les détails de la demande de paiement, notamment :
- Un URI Bitcoin qui peut être ouvert avec un portefeuille.
- Un code QR qui peut être scanné pour le paiement.
- Temps restant avant l'expiration de la demande.
- Pour effectuer un paiement :
- Utilisez un portefeuille Bitcoin pour ouvrir l'URI Bitcoin fourni.
- Scannez le code QR avec un portefeuille mobile.
- La page utilise des websockets pour se mettre à jour en temps réel. Lorsque le paiement est reçu, la page est automatiquement actualisée pour montrer le statut mis à jour.

L'apparence de la page peut varier, mais elle contient les informations essentielles nécessaires pour effectuer le paiement.
Important : vérifiez toujours les détails du paiement avant d'envoyer des fonds.
Paiements éclairs
Mise en place de l'éclair
Pour utiliser Lightning, vous devez configurer des clés Lightning dans votre portefeuille. Pour ce faire, procédez comme suit :
- Arrêter le démon Electrum :
electrum stop
- Initialiser les clés de foudre :
electrum -o init_lightning
- Redémarrer le démon :
electrum daemon -d
Vous pouvez ajouter des clés Lightning à un portefeuille de surveillance uniquement. Ce portefeuille ne pourra pas dépenser de pièces sur la chaîne, mais il pourra effectuer des transactions Lightning.
Ouverture d'un canal
Après avoir configuré Lightning, vous devez ouvrir un canal :
electrum open_channel <node_id> <amount>
Pour vérifier si le canal est prêt à être utilisé :
electrum list_channels
Notez que votre nouveau canal n'aura pas de capacité entrante au début, vous ne pourrez donc pas recevoir de paiements immédiatement. Si vous avez besoin de recevoir des paiements immédiatement, envisagez de procéder à un échange sous-marin des fonds de votre canal.
Création d'une demande de paiement Lightning
Pour créer une demande de paiement Lightning :
electrum add_lightning_request 0.0001 -m "test"
Cette commande crée une demande de 0,0001 BTC avec le message "test".