You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.2 KiB
36 lines
1.2 KiB
merchant.py is a daemon that manages payments for a web server. It
|
|
creates Bitcoin addresses using a master public key (so you do not
|
|
leave your private keys on the server), detects when payments are
|
|
received and notifies your web application.
|
|
|
|
The workflow goes like this:
|
|
|
|
- the server sends a request to the daemon via POST. the request
|
|
contains an amount to be paid, a number of confirmations, and an
|
|
expiration period in hours.
|
|
|
|
- the daemon answers with a Bitcoin address, where the customer needs
|
|
to send the coins.
|
|
|
|
- later, the daemon will send a POST to the webserver, to notify that
|
|
the payment has been received OR that the request has expired
|
|
|
|
|
|
Since addresses are generated using an Electrum master public key, it
|
|
is possible to visualize payments in the Electrum client; you will,
|
|
however, need to manually adjust your "gap limit".
|
|
|
|
In order to use this script, first edit and rename
|
|
merchant.conf.template to merchant.conf
|
|
|
|
to launch it, type:
|
|
> python merchant.py
|
|
|
|
In another terminal, you may send a request from the command line (it
|
|
will send the request to the running daemon via http). For example,
|
|
here is a request for 0.1 bitcoins, that requires two confirmations,
|
|
and expires in 120 minutes:
|
|
|
|
> python merchant.py request 0.1 2 120
|
|
|
|
|
|
|