Payment gateways
BTCPay Server
Connect your own BTCPay Server store with an API key and a store webhook.
BTCPay Server is self-hosted, so the money goes straight to your own wallet with no middleman. Emberstore creates invoices on your BTCPay store through its Greenfield API.
| Gateway id | btcpay |
| Refund by API | No. BTCPay's refund only makes a claim link, so refund from the invoice page and share the link |
| Recurring | No |
| Status lookup | Yes |
| Disputes | No |
| Webhook | You add it to the store in BTCPay |
| Currencies | Any currency your store's rate source can price |
Setup
Create an API key
In BTCPay, create an API key with permission to create invoices and view invoices (btcpay.store.cancreateinvoice and btcpay.store.canviewinvoices), limited to the one store. Copy the key and your store id.
Add a store webhook
In BTCPay (Store settings, Webhooks), add a webhook pointing at <webhook.public-base-url>/webhook/btcpay and copy its secret.
Fill in config.yml
btcpay:
enabled: true
icon: ORANGE_DYE
currency: ""
# Address of your BTCPay Server, for example https://pay.example.com
base-url: "https://pay.yourdomain.com"
# Store id from your BTCPay Server
store-id: "..."
# API key with permission to create invoices and read them
api-key: "..."
# Secret of the webhook registered for this plugin
webhook-secret: "..."base-url must use https:// (plain http:// is only allowed for localhost). Run /store admin reload.
Good to know
- Payment tolerance is forced to 0 on every invoice, whatever your store setting says, so only a fully paid invoice grants.
- Only a settled invoice grants. Invoices marked settled by hand, payments after expiry and invoices that did not confirm in time go to Needs review.
- After expiry BTCPay keeps watching for payments for the store's monitoring time. A payment then goes to Needs review.