Questa guida spiega come impostare i pagamenti in Bitcoin sul vostro sito web utilizzando Electrum. Utilizzeremo richieste di pagamento con firma SSL, seguendo le indicazioni di BIP-70 standard. Questa documentazione è aggiornata per Electrum 4.0 e successivi.
Prima di iniziare, assicuratevi di avere:
- Un certificato SSL valido (firmato da una CA, come quello gratuito di LetsEncrypt).
- La versione di sviluppo di Electrum è installata.
Ricordate di eseguire il comando di aggiornamento del sottomodulo durante l'installazione.
Configurare il certificato SSL in Electrum
Per abilitare le connessioni sicure, è necessario aggiungere il proprio certificato SSL a Electrum. Utilizzare questi comandi nel terminale:
electrum -o setconfig ssl_keyfile /path/to/ssl/privkey.pem
electrum -o setconfig ssl_certfile /path/to/ssl/fullchain.pem
Per istruzioni più dettagliate sull'aggiunta di SSL a Electrum, consultare la sezione Configurazione di SSL per Electrum.
Creazione e utilizzo del portafoglio commerciale
Create un portafoglio sicuro per le vostre transazioni commerciali. Questo processo aiuta a proteggere le criptovalute anche se il server del commerciante viene compromesso.
- Creare un nuovo portafoglio
Su un computer sicuro, creare un nuovo portafoglio:
electrum create
È meglio utilizzare un portafoglio separato per la propria attività, non per quella personale.
- Esportazione della chiave pubblica master
Sempre sul vostro computer protetto, esportate la Master Public Key (xpub):
electrum getmpk -w .electrum/wallets/your-wallet
- Configurazione del server Merchant
Sul computer server, ripristinare il portafoglio utilizzando la chiave pubblica master esportata:
electrum restore xpub...............................................
Sostituire xpub...
con la propria chiave pubblica master
- Configurare le impostazioni del server.
electrum -o setconfig payserver_address yourdomain.com:80
Sostituire yourdomain.com
con il vostro dominio attuale.
Avviare il demone Electrum
Dopo aver impostato il portafoglio di sola lettura, è necessario eseguire Electrum come servizio in background. Ecco come fare:
- Avviare il demone
Eseguire questo comando per avviare Electrum come demone:
electrum daemon -d
Questo lancia Electrum in modalità demone, consentendogli di funzionare in background.
- Caricare il portafoglio
Successivamente, caricare il portafoglio nel demone in esecuzione:
electrum load_wallet
Questo comando rende il portafoglio attivo e pronto all'uso.
Arresto del demone
Se è necessario arrestare il demone Electrum in qualsiasi momento, utilizzare questo comando:
electrum stop
In questo modo si chiude in modo sicuro il demone Electrum.
Creare una richiesta di pagamento firmata
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"
}
Ecco una sintesi delle informazioni principali:
URI
: Un URI Bitcoin che include l'importo, il messaggio, il timestamp e la scadenza.address
: L'indirizzo Bitcoin per il pagamento.amount
: L'importo richiesto in satoshi.amount_BTC
: L'importo richiesto in BTC.bip70_url
: L'URL della richiesta BIP70 firmata.view_url
: L'URL di una pagina web che visualizza la richiesta.
L'output del comando include due importanti URL:
bip70_url
: È l'URL della richiesta BIP70 firmata.view_url
: È l'URL di una pagina web che visualizza i dettagli della richiesta.
Per visualizzare l'elenco attuale delle richieste, utilizzare il comando list_requests
comando.
Per rimuovere tutte le richieste dall'elenco, utilizzare l'opzione clear_requests
comando.
Aprire la pagina di richiesta di pagamento nel browser
Dopo aver creato una richiesta di pagamento, è possibile visualizzarla in un browser web.

Ecco come utilizzare la pagina di richiesta di pagamento:
- Aprire la sezione
view_url
dall'output della richiesta di pagamento nel browser web. - La pagina visualizzerà i dettagli della richiesta di pagamento, tra cui:
- Un URI Bitcoin che può essere aperto con un portafoglio.
- Un codice QR che può essere scansionato per il pagamento.
- Il tempo rimanente fino alla scadenza della richiesta.
- Per effettuare un pagamento:
- Utilizzare un portafoglio Bitcoin per aprire l'URI Bitcoin fornito.
- Scansionate il codice QR con un portafoglio mobile.
- La pagina utilizza i websocket per aggiornarsi in tempo reale. Quando il pagamento viene ricevuto, la pagina si aggiorna automaticamente per mostrare lo stato aggiornato.

L'aspetto effettivo della pagina può variare, ma conterrà le informazioni essenziali per completare il pagamento.
Importante: verificare sempre i dettagli del pagamento prima di inviare i fondi.
Pagamenti lampo
Impostazione di Lightning
Per utilizzare Lightning, è necessario impostare le chiavi Lightning nel portafoglio. Seguite questi passaggi:
- Arresta il demone Electrum:
electrum stop
- Inizializzare le chiavi Lightning:
electrum -o init_lightning
- Riavviare il demone:
electrum daemon -d
È possibile aggiungere chiavi Lightning a un portafoglio di sola sorveglianza. Questo portafoglio non sarà in grado di spendere monete sulla catena, ma potrà eseguire transazioni Lightning.
Apertura di un canale
Dopo aver impostato Lightning, è necessario aprire un canale:
electrum open_channel <node_id> <amount>
Per verificare se il canale è pronto per l'uso:
electrum list_channels
All'inizio il vostro nuovo canale non avrà capacità in entrata, quindi non potrete ricevere immediatamente i pagamenti. Se avete bisogno di ricevere subito, prendete in considerazione la possibilità di effettuare uno scambio sottomarino dei fondi del vostro canale.
Creazione di una richiesta di pagamento Lightning
Per creare una richiesta di pagamento Lightning:
electrum add_lightning_request 0.0001 -m "test"
Questo comando crea una richiesta di 0,0001 BTC con il messaggio "test".