Introduction
What Emberstore does, the facts you need before installing it, and where to go next.
Emberstore is an in-game store for Paper servers. Players type /store, pick something from a menu, pay in a checkout dialog through the payment gateway you chose, and get their reward on their own once the payment is confirmed. They do not have to stay online while they pay: anything bought while they are away is waiting for them when they join.
Everything you sell lives in YAML files. A rank, a coin pack, a cosmetic or a bundle of them is a few lines in a category file. Adding a new file and running /store admin reload adds a new category, no code needed.
New here? Start with Installation, then turn on test mode and try a purchase without real money.
Quick facts
| Server software | Paper or a fork of Paper (Purpur and so on). Not plain Spigot. |
| Minecraft versions | Paper 1.21.7 and newer, including 26.x |
| Java | Java 21 or newer (26.x servers need Java 25, as Paper itself does) |
| Players | Java clients on 1.21.6 or newer get checkout dialogs. Bedrock and older clients get a chest menu |
| Hard dependencies | None |
| Optional | Vault (economy rewards and /store balance), LuckPerms (for rank commands), ViaVersion, Geyser and Floodgate (to spot clients that cannot show dialogs) |
| Payment gateways | 11: NOWPayments, Cryptomus, Stripe, PayPal, BTCPay Server, Plisio, BitPay, Razorpay, Creem, Dodo Payments, Litepay |
| Storage | SQLite (default), H2, MySQL or MariaDB |
How a purchase works
- The player opens
/storeand clicks an item. - A checkout dialog shows the price and lets them type a code, gift the item or pick a quantity. With several gateways turned on they pick one.
- Emberstore works out the price from your files, holds the stock and the code use, and asks the gateway for a payment link.
- The player pays on the gateway's own page. No card details ever touch your server.
- The gateway sends a signed message (a webhook) to your server. If that never arrives, Emberstore asks the gateway itself every few minutes.
- The reward runs: your console commands, or money through Vault. If the player is offline it runs when they next join.
The important part is step 5. A reward is only ever given for a payment the gateway itself confirmed. A player saying "I paid" counts for nothing, and a repeated message from a gateway never gives the reward twice. Read Payment gateways for how that works.