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 id | nowpayments |
| Refund by API | No, refund from the NOWPayments dashboard |
| Recurring | No (NOWPayments bills by email, which Emberstore does not collect) |
| Status lookup | Yes, once the buyer has picked a coin |
| Disputes | No |
| Webhook | Sent with each checkout, nothing to register |
| Currencies | Any 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-currencieswith 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 refundmarks 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: trueEmberstore skips the short payment check. The check is always on against the live API.