Emberstore logoEmberstore
Payment gateways

NOWPayments

Set up NOWPayments for crypto payments, with its API key and IPN secret.

NOWPayments takes payment in a long list of coins. The buyer picks the coin on the NOWPayments page. It is the one gateway switched on in the shipped config.yml, waiting for its keys.

Gateway idnowpayments
Refund by APINo, refund from the NOWPayments dashboard
RecurringNo (NOWPayments bills by email, which Emberstore does not collect)
Status lookupYes, once the buyer has picked a coin
DisputesNo
WebhookSent with each checkout, nothing to register
CurrenciesAny fiat currency NOWPayments accepts

Setup

Get your keys

In the NOWPayments dashboard, create an API key and set an IPN secret. The sandbox needs its own account and key.

Fill in config.yml

nowpayments:
  enabled: true
  icon: GOLD_INGOT
  currency: ""
  # NOWPayments API key from your dashboard
  api-key: "..."
  # IPN secret used to verify webhook signatures
  ipn-secret: "..."
  # Use the NOWPayments sandbox API instead of live
  sandbox: false
  # Restrict payment coins, for example ["btc", "eth", "ltc"]. Empty lets the buyer pick any
  accepted-currencies: []

Run /store admin reload.

Good to know

  • accepted-currencies with exactly one coin locks every invoice to that coin. With two or more, NOWPayments cannot lock an invoice to a list, so restrict the coins in your NOWPayments dashboard instead (the console reminds you).
  • Coin minimums are set by NOWPayments per coin and shown on its page.
  • Short payments (partially_paid) and extra deposits on an old payment go to Needs review.
  • Lookups only work once the buyer has picked a coin. An order nobody started paying waits for its webhook or expires.
  • NOWPayments keeps a payment open for 7 days. A payment after Emberstore expired the order goes to Needs review.
  • Refunds are done by hand. NOWPayments has no refund API. /store admin refund marks the order refunded, takes the reward back and tells you to send the coins back from the NOWPayments dashboard. Emberstore never moves crypto for you.
  • Sandbox payments report nothing paid. In the sandbox a finished payment shows 0 as the amount paid, so with sandbox: true Emberstore skips the short payment check. The check is always on against the live API.

On this page