forked from 3wordchant/capsul-flask
added btcpay pairing instructions to readme
This commit is contained in:
61
README.md
61
README.md
@ -45,9 +45,8 @@ Run the app
|
||||
FLASK_APP=capsulflask flask run
|
||||
```
|
||||
|
||||
Run the app in gunicorn locally
|
||||
Run the app in gunicorn
|
||||
```
|
||||
pip install gunicorn
|
||||
.venv/bin/gunicorn --bind 127.0.0.1:5000 capsulflask:app
|
||||
```
|
||||
|
||||
@ -61,3 +60,61 @@ For example, the script named `02_up_xyz.sql` should contain code that migrates
|
||||
**IMPORTANT: if you need to make changes to the schema, make a NEW schema version. DO NOT EDIT the existing schema versions.**
|
||||
|
||||
In general, for safety, schema version upgrades should not delete data. Schema version downgrades will simply throw an error and exit for now.
|
||||
|
||||
|
||||
## how to setup btcpay server
|
||||
|
||||
Generate a private key and the accompanying bitpay SIN for the bitpay API client.
|
||||
|
||||
I used this code as an example: https://github.com/bitpay/bitpay-python/blob/master/bitpay/key_utils.py#L6
|
||||
|
||||
```
|
||||
$ python ./readme/generate_btcpay_keys.py
|
||||
```
|
||||
|
||||
It should output something looking like this:
|
||||
|
||||
```
|
||||
-----BEGIN EC PRIVATE KEY-----
|
||||
EXAMPLEIArx/EXAMPLEKH23EXAMPLEsYXEXAMPLE5qdEXAMPLEcFHoAcEXAMPLEK
|
||||
oUQDQgAEnWs47PT8+ihhzyvXX6/yYMAWWODluRTR2Ix6ZY7Z+MV7v0W1maJzqeqq
|
||||
NQ+cpBvPDbyrDk9+Uf/sEaRCma094g==
|
||||
-----END EC PRIVATE KEY-----
|
||||
|
||||
|
||||
EXAMPLEwzAEXAMPLEEXAMPLEURD7EXAMPLE
|
||||
```
|
||||
|
||||
In order to register the key with the btcpay server, you have to first generate a pairing token using the btcpay server interface.
|
||||
This requires your btcpay server account to have access to the capsul store. Ask Cass about this.
|
||||
|
||||
Navigate to `Manage store: Access Tokens` at: `https://btcpay.cyberia.club/stores/<store-id>/Tokens`
|
||||
|
||||

|
||||
|
||||
|
||||
Finally, send an http request to the btcpay server to complete the pairing:
|
||||
|
||||
```
|
||||
curl -H "Content-Type: application/json" https://btcpay.cyberia.club/tokens -d "{'id': 'EXAMPLEwzAEXAMPLEEXAMPLEURD7EXAMPLE', 'pairingCode': 'XXXXXXX'}"
|
||||
```
|
||||
|
||||
It should respond with a token:
|
||||
|
||||
```
|
||||
{"data":[{"policies":[],"pairingCode":"XXXXXXX","pairingExpiration":1589473817597,"dateCreated":1589472917597,"facade":"merchant","token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","label":"capsulflask"}]}
|
||||
```
|
||||
|
||||
And you should see the token in the btcpay server UI:
|
||||
|
||||

|
||||
|
||||
Now simply set your BTCPAY_PRIVATE_KEY private key in `.env`
|
||||
|
||||
```
|
||||
BTCPAY_PRIVATE_KEY='-----BEGIN EC PRIVATE KEY-----
|
||||
EXAMPLEIArx/EXAMPLEKH23EXAMPLEsYXEXAMPLE5qdEXAMPLEcFHoAcEXAMPLEK
|
||||
oUQDQgAEnWs47PT8+ihhzyvXX6/yYMAWWODluRTR2Ix6ZY7Z+MV7v0W1maJzqeqq
|
||||
NQ+cpBvPDbyrDk9+Uf/sEaRCma094g==
|
||||
-----END EC PRIVATE KEY-----'
|
||||
```
|
Reference in New Issue
Block a user