Emberstore logoEmberstore

Introduction

What Emberstore does, the facts you need before installing it, and where to go next.

Emberstore banner with the flame mark, the tagline and a checkout dialog as players see it.

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.

Quick facts

Server softwarePaper or a fork of Paper (Purpur and so on). Not plain Spigot.
Minecraft versionsPaper 1.21.7 and newer, including 26.x
JavaJava 21 or newer (26.x servers need Java 25, as Paper itself does)
PlayersJava clients on 1.21.6 or newer get checkout dialogs. Bedrock and older clients get a chest menu
Hard dependenciesNone
OptionalVault (economy rewards and /store balance), LuckPerms (for rank commands), ViaVersion, Geyser and Floodgate (to spot clients that cannot show dialogs)
Payment gateways11: NOWPayments, Cryptomus, Stripe, PayPal, BTCPay Server, Plisio, BitPay, Razorpay, Creem, Dodo Payments, Litepay
StorageSQLite (default), H2, MySQL or MariaDB

How a purchase works

Six steps of a purchase: menu click, checkout dialog, order created, payment page, payment confirmed, reward delivered, with the free order and failed checkout branches. A player opens /store, picks Ranks, hovers and clicks MVP Rank, the checkout dialog opens and they scroll through the payment buttons to Stripe.
  1. The player opens /store and clicks an item.
  2. 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.
  3. Emberstore works out the price from your files, holds the stock and the code use, and asks the gateway for a payment link.
  4. The player pays on the gateway's own page. No card details ever touch your server.
  5. The gateway sends a signed message (a webhook) to your server. If that never arrives, Emberstore asks the gateway itself every few minutes.
  6. 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.

What is in it

On this page