A Discord checkout bot lets members add products to a cart on your catalog, then turns that cart into a private order ticket where staff confirm the total, apply a voucher, and arrange payment. Noxyr's cart and /checkout do exactly that for free, with no per-sale fee, because the bot never touches the money itself. Here's how it works for both sides, and precisely what it does and doesn't do with payment.

A shopper adds an item to their cart, the cart count rises, and checkout produces a paid invoice. Wireless Mouse $29 Add to cart 1 2 3 Invoice #1042 Paid

How the buyer's side works

The cart lives as a button under the posted product catalog. A member opens a category, picks a product, and adds it to their cart; the cart panel shows an ephemeral embed with one line per item, a price in every enabled currency, a running total, and buttons to remove an item, clear the cart, or check out.

  1. Browse the catalog with /catalog or the posted channel message.
  2. Add products (and quantities) to the cart.
  3. Open the cart panel to review items, remove one, or clear everything.
  4. Press Checkout.

Pressing Checkout with an empty cart shows the configured "cart is empty" message instead of doing anything. If checkout is turned on but no ticket panel has been linked yet, the buyer gets told setup isn't finished rather than a silent failure.

What happens the instant Checkout is pressed

The bot snapshots the cart contents before anything else happens, so a race between the ticket being created and the cart being cleared can't lose an item off the order. Then it opens a ticket through the ticket panel linked in /checkout panel, using the same ticket system as support tickets, so the order channel gets staff permissions, a claim button and a transcript like any other ticket. The order summary (products, quantities, total) is posted into that new channel automatically as an embed.

Back on the catalog, the cart panel refreshes to show it's now empty (if "clear cart after checkout" is on, which it is by default), and the buyer gets an ephemeral confirmation with a link to the new ticket channel and a ticket ID.

Setting up /checkout as an admin

/checkout has three subcommands:

  • /checkout setup: turns the cart button on or off, and sets limits: how many different products a cart may hold (1-25), the max quantity of one product per cart (1-99), whether the cart clears after checkout, and whether remaining stock shows next to each line.
  • /checkout panel: links the ticket panel checkout opens. This is required; checkout stays disabled functionally until a panel is linked. Create the panel first with /ticket panel_create or the dashboard, ideally a dedicated "Orders" panel with its own staff role so sales tickets aren't mixed with general support.
  • /checkout text: every piece of visible text and styling, cart button label/emoji/color, checkout button label/color, cart embed title/color/banner/thumbnail/footer, the empty-cart message, the order-summary title and message (with {user}, {username}, {items} placeholders), the success message (with {channel}, {user}, {ticketId}), and the add/remove dropdown placeholders.

/checkout status shows the current configuration and tells you exactly what's missing if it isn't ready yet, no panel linked, or checkout switched off.

Inside the order ticket: what staff do

The order ticket is a normal ticket channel with the cart summary already posted in it. From there staff:

  1. Confirm the items and total against what the buyer actually wants.
  2. Apply a voucher code if the buyer has one; see the voucher codes guide for how discounts and limits work.
  3. Share payment details for whichever method you and the buyer agree on.
  4. Confirm the payment actually arrived before delivering anything.
  5. Generate the invoice and deliver.

How checkout links to invoices, vouchers and reviews

Checkout itself only produces the ticket and the cart summary inside it; it hands off to three other systems that share the same order:

  • Invoices: once payment is confirmed, staff run /invoice create in the ticket to render a branded receipt (your logo, an order ID, the products, discount, total and payment method) using the branding set in /invoice branding. See how to send invoices on Discord.
  • Vouchers: a voucher code applied during checkout reduces the invoice total. Vouchers are managed separately from the cart, limited by uses and can be switched off without deleting their history.
  • Reviews: after delivery, the buyer can run /review submit with a star rating, the product and an optional screenshot, which posts to your reviews channel once approved. See how to collect reviews on Discord.

None of these three require the buyer to do anything extra beyond checking out; the order ticket is the one place staff work through all of them in sequence, and the closed ticket's transcript keeps the whole conversation as a record.

What the bot handles and what it does not (be precise here)

This is the one place sellers get confused, so read it carefully: Noxyr's checkout does not process payments. There is no card form, no payment gateway integration, and no hosted checkout page. What it actually does is:

  • Collects cart items and quantities into an order.
  • Opens a private ticket where the buyer and staff can talk.
  • Posts a structured order summary so nobody has to retype what was picked.
  • Records the order as an invoice once staff mark it, with a payment-method field staff fill in themselves (PayPal, UPI, crypto, bank transfer, whatever you actually accepted).

What it does not do:

  • Charge a card, generate a payment link, or connect to Stripe, PayPal's API, or any processor.
  • Verify that a payment cleared. Staff confirm that manually in the ticket before delivering, which is also why "PayPal pending" should never be treated as paid.
  • Hold or transfer funds. Money moves directly between buyer and seller on whatever method they agree on in the ticket.

That's a deliberate trade-off, not a missing feature: it's what makes checkout free with no per-sale fee, unlike hosted-checkout platforms such as Sellix or SellAuth that process cards for a cut. If your business needs automated card payments and instant key delivery the second a payment clears, a hosted-checkout platform is the right tool, and you can still use Noxyr's tickets and invoices around it. See best Discord shop bots for that comparison.

Selling in Discord without a website

Because checkout, invoices, vouchers and reviews all run inside Discord, you don't need a website, a shopping cart plugin, or a separate order-management tool to sell in a Discord server. The catalog channel is the storefront, the cart is the checkout page, and the order ticket is the customer-service inbox, order form and payment thread combined. What you still need outside Discord is a payment method the buyer can pay into directly (PayPal, UPI, a crypto wallet) since the bot deliberately stays out of that part.

Common questions

Does /checkout take payments directly? No. It opens an order ticket where staff and the buyer arrange payment on a method like PayPal, UPI or crypto; the bot records the method on the invoice afterward but never processes the payment.

What happens if a buyer's cart is empty and they press Checkout? Nothing opens. They see the configured empty-cart message instead.

Can I limit how many items go in one cart? Yes, /checkout setup sets both a max number of different products (1-25) and a max quantity per product (1-99).

Does the cart clear automatically after checkout? By default yes, controlled by the "clear after checkout" option in /checkout setup.

Is a ticket panel required for checkout to work? Yes. Checkout opens tickets through a panel linked with /checkout panel; without one, buyers are told setup isn't finished instead of the button silently failing.

Add Noxyr free and link a panel with /checkout panel to turn your catalog into a working storefront, or read the full catalog and products docs. For the catalog itself, see the Discord product catalog bot guide.