NENVEST

Stripe payment bot + Telegram-native admin

Abo-Plattform für die geschlossene Investment-Community Capitalist Invest / Rynochok

👤 Solo full-stack🌍 SubTech / Wealth-tech✅ ProductionDemo auf Anfrage

Kontext

Capitalist Invest / Rynochok — eine geschlossene Investment-Community mit kostenpflichtigem Abo: tägliche Marktanalysen, wöchentliche Research-Reports, 8 thematische Channels (Aktien, Anleihen, Volatilität, Krypto, Makro, Commodities, Research, Portfolio), Live-Chat. 500+ Mitglieder, Partnerschaft mit dem Medium «Ostanniy Kapitalist».

Ich habe zwei Systeme gebaut, die zusammen funktionieren: Stripe Payment Bot — Telegram-Frontend für die Bezahlung von Abos (der einzige User-Interaktionspunkt), und Admin Panel — Telegram-natives Admin-Panel für das Team (Promo, Preise, Broadcasts, Migrationen).

Meine Rolle: solo full-stack — von der Architektur bis in die Produktion. Stripe-Bot, Telegram-natives Admin, Webhook-Pipeline, operatives Dashboard in Google Sheets, Docker-Deploy und Cloudflare Tunnels. Davor habe ich eine Digital-Community von rund 1000 Personen geleitet — manuelle Broadcasts, Kundensupport, Wiederholungszahlungen, Hinzufügen und Entfernen von Mitgliedern. Dieses Wissen und diese Erfahrung erlaubten mir, eine umfassende Plattform für automatisches Mitgliedschafts-Management zu bauen.

Was dabei herausgekommen ist

Zwei Systeme, die zusammen funktionieren: Stripe-Bot für User und Admin-Panel für das Team.

// system

Architektur

01 — user-facing
Stripe Payment Bot
live
User (Telegram)
/subscribe · /cancel · /status
command
Stripe Payment Link
+ metadata: telegram_id, product_id
Webhook Receiver
Flask · :3001 · idempotent (event.json)
Schedulers
warning · delete
Event Transmitter
routing per event type
Bot Notifier
success · failed · expiring
Stripe
DUAL accounts
Google Sheets
state machine
Closed Chat
invite / kick
02 — team-facing
Admin Panel
live
Admin / Team
whitelist Telegram-ID
inline keyboard
Cloudflare Tunnel
no public IP needed
Admin Bot
Flask · :3003 · 7-step state machine
JSON store
atomic writes
Promo
CRUD
Pricing
change · sync
Mass-sender
filter · test · send
Migration
2-step pipeline
Stripe API
subs · prices
Google Sheets
read-only sync
Bot API
broadcast
production

Technische Details

Struktur, Infrastruktur und Entwicklungsprozesse.

Stripe-domain depth

Voller Subscription-Lifecycle: Payment Links mit metadata-routing, Subscription Schedules für Preis-Migrationen ohne Schaden für aktive Subs, Webhook-Idempotency mit 30-Tage-TTL event-registry (Schutz vor Retries und Doppelbelastung), Failed-Payment-Eskalation mit Retry-Logik.

Reliability & atomicity

Atomische 3-Phasen-Verarbeitung von Webhook-Events: Ack wird NUR nach Erfolg aller Schritte committet. Mutex-geschütztes JSON-Storage mit atomic writes (tempfile → rename) statt einer separaten DB — gerechtfertigt durch Teamgröße, läuft ein Jahr ohne Incidents.

Multi-process orchestration

Parallele Async-Prozesse (Bot, Webhook-Receiver, API-Server, Telegram-Monitor, Warning/Delete-Checker) unter tmux, mit separaten Logs. Koordination via Stripe-Events + geteilte Sheets — ohne Orchestrator wie Celery oder Kubernetes.

CI/CD + observability

GitLab-Pipelines: lint → tests (Pytest mit gemocktem Stripe via recorded fixtures) → build → deploy. Tägliche Log-Rotation, strukturierte Logs pro Prozess. Cloudflare Tunnel für Webhook-Ingress ohne öffentliche IP.

Pragmatic architecture

JSON-Files statt DB, Google Sheets statt separates Dashboard, In-Memory-FSM mit atomic snapshots statt Redis. Jede Entscheidung gerechtfertigt durch Teamgröße und Volumen — kein Overkill, maximale Wartbarkeit.

Hot-reload & zero-downtime

Configs (Tarife, Whitelist, Promo) werden via mtime-tracking neu eingelesen — Änderung ohne Bot-Restart. Rolling Deploy via Docker: neuer Container kommt parallel hoch, Traffic schaltet um, alter stoppt — null Unterbrechung aktiver Zahlungen.

Tech Stack

Backend / runtime

Python 3.11+Flask 3.1pyTelegramBotAPI 4.27python-telegram-bot 22Telethon 1.24asynciomulti-process orchestration

Payments

Stripe 12.2dual-account orchestrationSubscription SchedulesPayment Linkswebhook idempotency

Persistence / data

JSON files (atomic writes)Google Sheets (gspread 6.2).env confighot-reloadable configs

Integrationen

Telegram Bot APIStripe APIGoogle Sheets APIEmail (SMTP)

Infrastruktur

DockerCloudflare Tunnelsshell-orchestrationdaily log rotationEurope/Kyiv TZ

Was kommt als Nächstes?

Das ist einer meiner Cases. Der Rest ist auf der Hauptseite.