O co chodzi
Bot Discord nie przechowuje danych kart płatniczych — to robi certyfikowana bramka płatności. Bot pełni rolę pośrednika: użytkownik wybiera produkt, dostaje link do płatności, a po potwierdzeniu transakcji system automatycznie wydaje rolę, klucz licencyjny albo dostęp w panelu webowym. Cały flow powinien być idempotentny (ten sam webhook dwa razy nie wydaje produktu dwa razy) i audytowalny (admin widzi historię zamówień).
Typowy przepływ sprzedaży
- Użytkownik wybiera produkt — przycisk, komenda slash albo ticket sprzedażowy.
- Bot generuje sesję płatności w bramce (np. Stripe Checkout) i wysyła link.
- Użytkownik płaci na stronie bramki — dane karty nigdy nie trafiają do bota.
- Bramka wysyła webhook z potwierdzeniem na Twój backend.
- Backend weryfikuje podpis webhooka, zapisuje zamówienie i informuje bota.
- Bot przyznaje rolę, wysyła klucz w DM lub aktywuje licencję w panelu.
- Admin ma log zamówienia na wypadek zwrotu, chargebacku albo ręcznej weryfikacji.
Wybór bramki płatności
Stripe to popularny wybór przy sprzedaży cyfrowej — ma gotowe Checkout Sessions, webhooki i dokumentację pod integracje serwerowe. Przed implementacją przejrzyj sekcję Payments w dokumentacji Stripe i zdecyduj, czy wystarczy jednorazowy checkout, czy potrzebujesz subskrypcji. Niezależnie od providera: webhook endpoint musi weryfikować podpis, odrzucać duplikaty po ID transakcji i logować każde zdarzenie. Token bota i klucze API trzymaj w zmiennych środowiskowych, nigdy w repozytorium.
Integracja z Discordem
Po stronie Discorda bot potrzebuje uprawnień Manage Roles i wysyłania wiadomości prywatnych (do wydania klucza). Przy większej skali sprzedaży warto spiąć flow z panelem webowym z OAuth, gdzie użytkownik widzi historię zakupów i może sam aktywować licencję. Oficjalne API opisuje Discord Developer Docs — szczególnie interakcje (przyciski) i zarządzanie rolami.
Na co uważać
- Podwójne wydanie przy ponownym callbacku — stosuj idempotencję po payment_intent_id.
- Wysyłanie kluczy licencyjnych tylko w DM lub prywatnym tickecie, nie na kanale publicznym.
- Proces zwrotu: co się dzieje z rolą i kluczem po refundzie?
- Timeout sesji płatności — co, jeśli użytkownik nie dokończy transakcji w 30 minut?
- Chargebacki — logi zamówień i powiązanie Discord user ID z transakcją.
Często idzie w parze
Kompletny system sprzedaży to zwykle bot + backend + panel + bramka. Szerszy obraz flow licencji opisuję w poradniku o sprzedaży licencji. Przed wdrożeniem produkcyjnym przejdź też checklist bezpieczeństwa bota.
Chcesz spiąć płatności z botem Discord end-to-end — napisz przez formularz kontaktowy.
Najczęstsze pytania
Czy bot Discord może przyjmować płatności kartą?
Bot sam nie przechowuje danych kart — płatność odbywa się na stronie certyfikowanej bramki (np. Stripe Checkout). Bot generuje link do sesji płatności, a po potwierdzeniu transakcji automatycznie wydaje rolę, klucz lub dostęp.
Jak działa webhook po płatności w bocie Discord?
Po opłaceniu bramka wysyła webhook na Twój backend. Backend weryfikuje podpis, zapisuje zamówienie i informuje bota, który przyznaje rolę lub wysyła klucz w DM. Endpoint musi odrzucać duplikaty i logować każde zdarzenie.
Jakie uprawnienia bot potrzebuje do wydania roli po zakupie?
Bot potrzebuje uprawnienia Manage Roles oraz możliwości wysyłania wiadomości prywatnych (do wydania klucza). Rola bota musi być wyżej w hierarchii serwera niż rola, którą ma nadać użytkownikowi.