[BREAKGLASS] Python client for the BTCPay API. https://docs.btcpayserver.org/integrations/customintegration
Go to file
2019-01-17 01:02:52 -05:00
btcpay Prepare Prior PR #4 for PyPI to Make It Installable (#5) 2019-01-16 23:24:17 -05:00
.gitignore version bump 2019-01-16 23:39:34 -05:00
LICENSE switched to MIT license 2018-03-07 18:42:22 -05:00
README.md Update README.md 2019-01-17 01:02:52 -05:00
setup.py bump name 2019-01-17 01:02:25 -05:00

btcpay-python

Install

pip3 install btcpay_python

The "easy method" to create a new BTCPay client

  • On BTCPay server > shop > access tokens > create new token, copy pairing code.
  • Then use that code in the below Python code:
from btcpay_python import BTCPayClient

client = BTCPayClient.create_client(host='https://btcpay.example.com', code=<pairing-code>)

Creating a client the manual way (not necessary if you used the 'easy' method)

  • Generate and save private key:
import btcpay_python.crypto
privkey = btcpay.crypto.generate_privkey()
  • Create client:
from btcpay_python import BTCPayClient
client = BTCPayClient(host='http://hostname', pem=privkey)
  • On BTCPay server > shop > access tokens > create new token, copy pairing code:
  • Pair client to server and save returned token:
client.pair_client(<pairing-code>)
>>> {'merchant': "xdr9vw3v5wc0w90859v45"}
  • Recreate client:
client = BTCPayClient(
    host='http://hostname',
    pem=privkey,
    tokens={'merchant': "xdr9vw3v5wc0w90859v45"}
)

Get rates

client.get_rates()

Create specific rate

client.get_rate('USD')

Create invoice

See bitpay api documentation: https://bitpay.com/api#resource-Invoices

client.create_invoice({"price": 20, "currency": "USD"})

Get invoice

client.get_invoice(<invoice-id>)