---
title: "Discord sales bot: build a store with Pix and VIP delivery"
description: "Discord sales bot: catalog, cart, Pix payments and automatic role or VIP delivery, plus how to handle chargebacks, user data and platform rules."
url: "https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot"
type: "page"
language: "en-US"
---

Discord Bots · 9 min · Intermediate

Published on Sep 15, 2026 · Updated on Sep 15, 2026

# A Discord store: what a sales bot needs to have

Selling VIP and roles through Discord looks simple until the first fake payment receipt shows up. Here is how the store works under the hood and what has to exist before you open sales.

By [Equipe StreetHosting](https://streethosting.com.br/en/autores#equipe-streethosting) · StreetHosting infrastructure and support team

[Community and game modes](https://streethosting.com.br/en/guides/topics/community) [Automation and webhooks](https://streethosting.com.br/en/guides/topics/automation) [Costs, plans and billing](https://streethosting.com.br/en/guides/topics/costs)

Summarize with:

[](https://chat.openai.com/?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fdiscord-bots%2Fdiscord-sales-bot.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "ChatGPT") [](https://claude.ai/new?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fdiscord-bots%2Fdiscord-sales-bot.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Claude") [](https://www.google.com/search?udm=50&aep=11&q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fdiscord-bots%2Fdiscord-sales-bot.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Google AI Mode") [](https://x.com/i/grok?text=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fdiscord-bots%2Fdiscord-sales-bot.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Grok") [](https://www.perplexity.ai/search/new?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fdiscord-bots%2Fdiscord-sales-bot.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Perplexity")

Share:

[](https://x.com/intent/tweet?text=Discord%20sales%20bot%3A%20how%20to%20build%20a%20store&url=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fdiscord-bots%2Fdiscord-sales-bot "Share on X") [](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fdiscord-bots%2Fdiscord-sales-bot "Share on Facebook") [](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fdiscord-bots%2Fdiscord-sales-bot "Share on LinkedIn") [](https://wa.me/?text=Discord%20sales%20bot%3A%20how%20to%20build%20a%20store%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fdiscord-bots%2Fdiscord-sales-bot "Share on WhatsApp")

For agents: Copy as Markdown [.md](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot.md)

In this guide 7 sections

* [How it works under the hood](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#como-funciona-por-dentro)
* [Paying with Pix](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#pagamento-por-pix)
* [Delivering VIP in Minecraft](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#entrega-de-vip-no-minecraft)
* [The order record](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#registro-de-pedido)
* [Risks and fraud](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#riscos-e-fraude)
* [Rules to follow](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#regras-que-voce-precisa-respeitar)
* [What you need to build](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#o-que-voce-precisa-construir)

Quick answer

A **Discord sales bot**puts together four pieces: a catalog in an embed, a cart that stores the buyer's choice, an integration with a payment provider that confirms the Pix payment, and automatic delivery of the product, whether it is a Discord role or a command sent to the Minecraft server. The rule that holds everything together is simple: delivery only happens after the provider confirms the payment, never because of a receipt the buyer sent.

## How it works under the hood[](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#como-funciona-por-dentro)

From the outside, the buyer clicks a button, pays and gets the role. From the inside, there is a flow with well-defined states, and how clear those states are is what separates a store that works from one that creates support tickets every day.

1. **Catalog.** The bot posts the products in a channel, with name, price, description and a buy button. The catalog has to come from a data source instead of being written into the code, so you can change a price without deploying.
2. **Cart.**When the buyer clicks, the bot creates an order in the awaiting payment state, linked to their Discord user ID. This is where it asks for whatever delivery needs, such as the player's name on the Minecraft server.
3. **Charge.** The bot asks the payment provider to create a charge for the order amount and gives the buyer the Pix code or the checkout link.
4. **Confirmation.** The provider notifies your system when the payment arrives. The order changes to paid.
5. **Delivery.** Only now does the bot assign the role, send the command to the game server or unlock the content. The order changes to delivered.

Every state change has to be saved with a date and time. Without that, you cannot answer the most common support question, which is whether a specific order was paid and delivered.

## Paying with Pix[](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#pagamento-por-pix)

Pix is the natural payment method for selling to a Brazilian community, because confirmation is almost instant and the buyer does not need a card. But there is a dangerous misunderstanding that shows up in almost every improvised store: thinking the bot can check the receipt.

The bot has no access to your bank account. The institution that received the money is the one that knows whether a Pix arrived, and the correct way for your system to find out is through a payment provider that offers an API. You create the charge through the API, get a unique ID back and wait for the payment notification to reach your server. That notification is the only source of truth.

Never release a product based on a screenshot of a receipt posted in chat. A receipt is an image, and an image can be edited in seconds. Stores that accept screenshots quietly pile up losses until someone checks the bank statement and finds the hole.

Two technical details will save you a headache. The first is to treat the notification as something that can arrive twice, so delivery has to be idempotent: receiving the same notice again must not deliver the product a second time. The second is to verify that the notification really came from the provider, and not from someone who found your server's address.

## Delivering VIP in Minecraft[](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#entrega-de-vip-no-minecraft)

Giving someone a role on Discord is easy: the bot already has permission to do it. Delivering a VIP inside the Minecraft server takes a bridge, because they are two separate systems that know nothing about each other.

There are three common ways to do it. The first is for the bot to send a command to the game server console over a remote connection. The second is for the bot to write the order to a database that a server plugin reads. The third is for the game server to expose its own endpoint that the bot calls.

Whichever you pick has to solve the same problem: the player may be offline when the payment arrives. Applying a permission to someone who is not connected fails in many plugins, so the paid order has to wait in a queue and be applied when the player joins. Without that queue, support gets the same message every day from someone saying they paid and did not receive anything.

It is also worth thinking about expiration. A monthly VIP needs you to know when it expires and remove the permission when it does. That is your system's job, not something the permissions plugin handles alone. The guide on [monetizing a Minecraft server](https://streethosting.com.br/en/guides/minecraft/monetize-minecraft-server) covers revenue models and what tends to convert best in Brazilian communities.

If the game server and the bot run on the same infrastructure, the bridge gets simpler and faster, because the traffic never leaves for the internet. Hosting the server on [Minecraft Pro](https://streethosting.com.br/en/minecraft-pro) and the bot on the [bot plan](https://streethosting.com.br/en/bots) keeps both in the same data center in São Paulo.

## The order record[](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#registro-de-pedido)

The order record is the part that feels like paperwork and is what saves the store. It answers every hard question that comes up later: who bought, when, how much they paid, what they received and whether they are still entitled to the benefit.

* Discord user ID and the player name given for the game
* Product bought, amount and purchase date
* Transaction ID from the payment provider
* Current order state: awaiting, paid, delivered, canceled or refunded
* Date and time of every state change
* Expiration date when the product has a validity period
* Who performed any manual action on the order

Keep this data in a real database, not in a loose file on the machine. A lost order means a customer without what they paid for and an argument you have no way to win. The guide on a [ticket system](https://streethosting.com.br/en/guides/discord-bots/discord-ticket-bot) helps you set up the support channel that will look up this record.

## Risks and fraud[](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#riscos-e-fraude)

Selling inside a community brings problems that do not exist when the bot only moderates. It is worth knowing the four most common ones before you open the store.

| Risk                      | How it shows up                                                        | What limits the damage                                                       |
| ------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| Fake receipt              | The buyer sends an edited screenshot and asks for a manual release     | Deliver only after the provider confirms, and never accept an image as proof |
| Chargeback after delivery | The payment is reversed and the benefit has already been applied       | Keep the transaction ID and be able to revoke the role and permission        |
| Duplicate charge          | The notification arrives twice and the product is delivered twice      | Idempotent delivery that checks whether the order was already delivered      |
| Hijacked account          | Someone uses another person's account to buy and the owner disputes it | A complete order record and a public dispute policy                          |

Personal data needs care too. If you collect a name, ID number or email to issue a receipt, you become responsible for storing it securely and using it only for the stated purpose. The lightest approach is to collect as little as possible and leave sensitive data with the payment provider, which already has the infrastructure to handle it. The bot stores the transaction ID, not the card or ID document data.

## Rules you need to follow[](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#regras-que-voce-precisa-respeitar)

Two layers of rules apply here, and ignoring either one puts the community at risk.

* **Discord rules.** The platform has its own terms about commercial activity inside servers and about what a bot can do with user data. Read the current terms before opening the store, because the price of getting it wrong is losing the server or the bot application.
* **The Minecraft EULA.** The license limits what can be sold on servers. An advantage that breaks the balance of the game between paying and non-paying players is the most sensitive point. The guide on [what the Minecraft EULA is](https://streethosting.com.br/en/guides/minecraft/what-is-minecraft-server-eula) explains what it covers and why the server asks for acceptance.

In practice, this pushes your catalog toward cosmetic items, convenience and access to content, instead of raw power. It is also the choice that sustains the community over the long run, because a server where whoever pays always wins loses the players who do not pay, and they are the majority.

## What you need to build[](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#o-que-voce-precisa-construir)

It is worth being direct about who is responsible for what. StreetHosting hosts the bot and the game server, with activation in about 60 seconds after the payment is approved and 24-hour support in Portuguese. The store itself is software that has to exist, and it does not come ready with the plan.

You have three paths: build the store bot yourself, hire someone to build it, or adopt a third-party solution that already handles catalog, payment and delivery. Whichever you choose, evaluate the same points: whether delivery depends on confirmation from the provider, whether there is an order record you can query, whether you can revoke the benefit after a chargeback, and whether the buyers' data stays under the control of the right party.

Start small. A store with three products, one payment method and role delivery on Discord is enough to validate whether your community buys. Launching on day one with a huge catalog, automatic in-game delivery and recurring subscriptions is the most common recipe for a project that never leaves the drawing board.

In this guide

* [How it works under the hood](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#como-funciona-por-dentro)
* [Paying with Pix](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#pagamento-por-pix)
* [Delivering VIP in Minecraft](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#entrega-de-vip-no-minecraft)
* [The order record](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#registro-de-pedido)
* [Risks and fraud](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#riscos-e-fraude)
* [Rules to follow](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#regras-que-voce-precisa-respeitar)
* [What you need to build](https://streethosting.com.br/en/guides/discord-bots/discord-sales-bot#o-que-voce-precisa-construir)

## Frequently asked questions

How does a sales bot work on Discord?

The bot shows a catalog in an embed, records the buyer's choice, creates a charge, waits for the payment confirmation and only then delivers the product, which can be a Discord role or a command sent to the game server. Every step is recorded on an order.

Can the bot receive Pix payments automatically?

The bot does not receive Pix on its own. It talks to a payment provider that creates the charge and notifies you when it is paid. Delivery should be triggered by that notification from the provider, never by a receipt the buyer sends.

Can I deliver a Minecraft VIP straight from Discord?

Yes, as long as there is a bridge between the bot and the game server. Once the payment is confirmed, the bot sends the permission command to the server. If the player is offline, the command has to wait in a queue and be applied at their next login.

Does StreetHosting provide a ready-made store bot?

No. StreetHosting hosts the bot and the game server. The store bot, the payment integration and the automatic delivery are built by you or by someone you hire, or they come from a third-party solution you choose.

What happens if the buyer asks for a chargeback after receiving the VIP?

The money goes back to them and the product has already been delivered, so you take the loss if you have no way to remove the benefit. That is why the order record has to store the transaction ID and let you revoke the role or permission at any time.

Next step

See bot plans

24/7 Discord bots with fast activation and support in Portuguese.

[See bot plans](https://streethosting.com.br/en/bots)

[See Minecraft Pro Managed hosting on Ryzen with modpacks, optimized Paper and technical support.](https://streethosting.com.br/en/minecraft-pro)

## Related guides

[Minecraft Intermediate How to monetize a Minecraft server: VIP store, donations and conversion Monetizing is more than dropping a Pix button in Discord: it takes a clear offer, automatic delivery, EULA compliance and a stable server when ten VIPs join the Saturday event at once. 6 min Read guide](https://streethosting.com.br/en/guides/minecraft/monetize-minecraft-server) [Minecraft Beginner Minecraft server EULA: what it is and how to accept it A server that will not start because of the EULA scares beginners. This guide explains what it is, why it exists and how to accept it without errors. 2 min Read guide](https://streethosting.com.br/en/guides/minecraft/what-is-minecraft-server-eula) [Discord bots Intermediate Discord ticket bot for support: setup and hosting A badly built ticket system turns into spam in the general channel. A good one reduces churn and frees your staff for the cases that actually pay. This guide covers the flow, the bot and the host. 2 min Read guide](https://streethosting.com.br/en/guides/discord-bots/discord-ticket-bot)

[← Back to the Guide Center](https://streethosting.com.br/en/guides)
