Emberstore logoEmberstore
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 idbtcpay
Refund by APINo. BTCPay's refund only makes a claim link, so refund from the invoice page and share the link
RecurringNo
Status lookupYes
DisputesNo
WebhookYou add it to the store in BTCPay
CurrenciesAny 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.

On this page