Emberstore logoEmberstore
Payment gateways

BitPay

Set up BitPay for crypto invoices with a point of sale API token.

BitPay takes crypto and credits you once the payment is final. Emberstore checks every BitPay notification by reading the invoice back from BitPay, so a faked message cannot grant anything.

Gateway idbitpay
Refund by APINo, refund from the BitPay dashboard (that refund does not reach Emberstore, so also run /store admin refund <id> local)
RecurringNo
Status lookupYes
DisputesNo
WebhookSent with each checkout, nothing to register
CurrenciesAlmost every ISO currency, minimum 0.01

Setup

Create a token

In the BitPay dashboard, create an API token for the point of sale (pos) facade and copy it. A merchant facade token does not work here, because it needs signed requests.

Fill in config.yml

bitpay:
  enabled: true
  icon: IRON_INGOT
  currency: ""
  token: "..."
  # Use the BitPay test environment instead of live
  sandbox: false

The comment above token in the shipped file says "Merchant API token". Use the point of sale token anyway. The test environment needs its own BitPay account and token. Run /store admin reload.

Good to know

  • Only "complete" grants, the point where BitPay has credited you. An invoice marked invalid goes to Needs review.
  • The buyer has 15 minutes on the BitPay page, whatever checkout.expire-minutes says.
  • BitPay allows at most 100 invoices an hour per merchant.
  • The webhook self-test only checks that the address is reachable, because BitPay messages are checked by asking BitPay.

On this page