Monetize Without Tebex: Self‑Hosted Store with Stripe/W&#…
Lesen Sie dies, bevor Sie beginnen. Wenn Sie ein FiveM/RedM betreiben Server und planen um In-Game-Vergünstigungen zu verkaufen, Sie müssen verwenden Tebex. In den Dokumenten und der PLA von Cfx.re heißt es, dass „die Verwendung anderer Plattformen oder Zahlungsanbieter zur Server-Monetarisierung verboten ist“. Das Self-Hosting von Stripe ist in Ordnung für Off-Server Verkäufe (eigenständige Skripte, MLOs, UI-Pakete, Dienste, Kurse). Verknüpfen Sie diese Verkäufe nicht mit In-Game-Vergünstigungen auf Live-Servern.
Was Sie ohne Tebex monetarisieren können
Erlaubt (außerhalb des Servers):
- Eigenständige Skripte/MLOs, die Sie zur Selbstinstallation lizenzieren.
- Texturpakete, UI-Kits, Soundpakete.
- Beratung, kundenspezifische Entwicklungsarbeit, Installationsdienste.
- Dokumentation, Kurse, Vorlagen.
Vermeiden (erfordert Tebex oder bricht die Richtlinie):
- Spielwährung, Pay-to-Win, Lootboxen, NFTs.
- Prioritätswarteschlange, VIP-Rollen, Whitelist-Boosts, die an Ihren Live-Server gebunden sind.
Architektur auf einen Blick
Ziel: ein selbst gehosteter Store, der digitale Produkte (Skripte/MLOs) verkauft und Lizenzen automatisch liefert.
Stapel:
- Frontend: Next.js (App Router), React.
- Zahlungen: Stripe Checkout (einfach) oder Zahlungselement + Zahlungsabsichten (benutzerdefinierter Ablauf).
- Webhooks: Ereignisse empfangen, Signaturen überprüfen, Bestellungen aktualisieren, Dateien/Schlüssel liefern.
- Speicherung/Bereitstellung: S3/R2 + signierte URLs; oder Lizenzserver mit geschwindigkeitsbegrenzten Downloads.
- Steuern/Rechnungen: Stripe Tax + Billing-Rechnungen für B2B.
Datenfluss:
- Produkt + Preis erstellen in Streifen.
- Starten Sie die Checkout-Sitzung mit Metadaten (Produkt-ID, Käufer-ID).
- An
Kasse.Sitzung.abgeschlossenoderZahlungsabsicht erfolgreich, Signatur überprüfen. - Bestellung als bezahlt markieren; Lizenz generieren; signierten Download-Link erstellen; Quittung und Lizenz per E-Mail versenden.
Schritt-für-Schritt-Einrichtung
1) Stripe-Kontohygiene
- Komplettes Onboarding und Unternehmen verifizieren (KYC).
- Legen Sie den Kontoauszugsdeskriptor, die Support-E-Mail und die URL der Seite mit den Rückerstattungsrichtlinien fest.
- Aktivieren Apple Pay / Google Pay; Bankkonto hinzufügen.
- Einschalten Radar Regeln für grundlegende Betrugsprüfungen.
2) Produkte und Preise
- Einen Streifen erstellen Produkt pro Skript/MLO.
- Verwenden Einmalige Preise in Ihrer Käuferwährung (EUR/USD).
- Fügen Sie Metadatenschlüssel hinzu, die Sie später benötigen:
Artikelnummer,Produkt-Slug,Lizenzrichtlinie.
3) Wählen Sie den Zahlungsfluss
- Streifen Kasse: am schnellsten und SCA-fähig. Verarbeitet Geldbörsen, 3DS, Quittungen. Empfohlen für die meisten Geschäfte.
- Zahlungselement + Zahlungsabsichten: mehr Kontrolle; verwenden Sie es, wenn Sie eine benutzerdefinierte Benutzeroberfläche oder zusätzliche Methoden benötigen.
4) Sichere Webhooks
- Erstellen Sie ein
POST /api/stripe/webhookEndpunkt. - Lesen Sie die Rohkörper; JSON vor der Überprüfung nicht analysieren.
- Überprüfen Sie mit dem Endpunktgeheimnis; Ablehnen, wenn die Signatur fehlschlägt.
- Verwenden Idempotenz für ausgehende Aufgaben, die Sie über Webhooks auslösen (z. B. Lizenzerstellung), damit bei Wiederholungsversuchen keine Bestellungen dupliziert werden.
5) Bestellung + Lizenzerfüllung
- Nach bestätigtem Erfolg:
- Erstellen
BestellungenReihe mitStatus = 'bezahlt'. - Generieren Sie einen Lizenzschlüssel (UUID v4) oder ein käufergebundenes Entsperrtoken.
- Speichern Sie eine unveränderlicher Build der Postleitzahl (Hash-Nummer).
- Geben Sie eine zeitlich begrenzte signierte URL (z. B. 24 Stunden, 3 Downloads).
- E-Mail an den Käufer: Rechnungslink, Lizenz, Download-Button.
- Erstellen
- Fügen Sie einen Kundenportal Seite mit Bestellverlauf und erneuten Downloads.
6) Steuern, Rechnungen und Quittungen
- Einschalten Stripe-Steuer; Elemente markieren als digitale Güter.
- Erfassen Sie den Standort des Käufers (IP + Rechnungsadresse) und die Steuernummern (z. B. EU-Umsatzsteuer-ID).
- Für EU-B2C wird die Bestimmungsort-Mehrwertsteuer berechnet. Für gültige EU-B2B-Mehrwertsteuer-IDs wird ein Nullsatz berechnet und die ID wird aufgezeichnet.
- Speichern Sie Rechnungs-PDFs mit dem Bestelldatensatz.
7) Compliance und Richtlinien
- Verkaufsbedingungen (Lizenzumfang, kein Weiterverkauf, Anti-Cheat-Klausel, DMCA-Takedown).
- Rückerstattungen: Es gelten die EU-Fernabsatzvorschriften, bei digitalen Downloads verfällt jedoch das 14-tägige Rückgaberecht Wenn der Käufer stimmt dem ausdrücklich zu und erkennt dies vor dem Download an. Kontrollkästchen anzeigen und Zustimmung protokollieren.
- Datenschutz: Führen Sie eine DSGVO-Seite; protokollieren Sie Webhook-Nutzdaten, ohne vollständige Kartendaten zu speichern.
- Sicherheit: Webhook-Geheimnisse rotieren; API-Schlüssel mit geringsten Berechtigungen; Lizenztabelle im Ruhezustand verschlüsseln.
Minimale Implementierung (Next.js + Stripe Checkout)
Serveraktion (Sitzung erstellen):
// app/api/checkout/route.ts importiere Stripe von „stripe“; const stripe = neuer Stripe (process.env.STRIPE_SECRET_KEY!, { apiVersion: „2024-06-20“ }); exportiere asynchrone Funktion POST (req: Request) { const { sku, successUrl, cancelUrl } = warte auf req.json(); const priceId = warte auf mapSkuToPriceId(sku); const session = warte auf stripe.checkout.sessions.create ({ Modus: „Zahlung“, Zeilenelemente: [{ Preis: Preis-ID, Menge: 1 }], Metadaten: { sku }, success_url: successUrl, cancel_url: cancelUrl, }); returniere Response.json ({ URL: session.url }); }
Webhook-Route:
// app/api/stripe/webhook/route.ts
import Stripe from 'stripe';
import { headers } from 'next/headers';
export const config = { api: { bodyParser: false } } as any; // keep raw body
function buffer(body: ReadableStream<Uint8Array>) {
const reader = body.getReader();
const chunks: Uint8Array[] = [];
return reader.read().then(function process({ done, value }): any {
if (done) return Buffer.concat(chunks);
chunks.push(Buffer.from(value));
return reader.read().then(process);
});
}
export async function POST(req: Request) {
const sig = headers().get('stripe-signature')!;
const buf = await buffer(req.body!);
let event: Stripe.Event;
try {
event = new Stripe(process.env.STRIPE_SECRET_KEY!, { apiVersion: '2024-06-20' })
.webhooks.constructEvent(buf, sig, process.env.STRIPE_WEBHOOK_SECRET!);
} catch {
return new Response('Bad signature', { status: 400 });
}
if (event.type === 'checkout.session.completed') {
const session = event.data.object as Stripe.Checkout.Session;
await fulfill(session); // create order, license, email
}
return new Response('OK', { status: 200 });
}
Idempotenz-Tipp: Wenn Ihr Webhook externe Aufgaben auslöst (z. B. E-Mail-Versand, Lizenzerstellung), kapseln Sie diese Aufrufe mit Ihren eigenen Idempotenz-Schlüssel um Duplikate zu vermeiden.
Lizenz- und Dateilieferung
- Verknüpfen Sie jede Lizenz mit der E-Mail-Adresse des Käufers und der Produkt-SKU.
- Download-URLs signieren; Begrenzung nach Zeit + Versuchen; IPs zur Missbrauchskontrolle protokollieren.
- Fügen Sie eine kleine Lizenzvalidator Snippet in Ihrem Ressourcenlader, um den Schlüssel anhand Ihrer API zu überprüfen (Ratenbeschränkung).
Risiko- und Betrugskontrollen
- Aktivieren Sie 3DS/SCA über Checkout oder Zahlungsabsichten.
- Blockieren Sie Wegwerf-E-Mails und nicht übereinstimmende Rechnungsländer für Bestellungen mit hohem Risiko.
- Bewahren Sie Beweisvorlagen für Streitigkeiten auf: Produktbeschreibung, Lizenzprotokolle, Downloadprotokolle, Zustimmung zum Verzicht auf digitale Inhalte.
Verstoßen Sie nicht gegen die Cfx.re-Regeln
- Verwenden Sie Tebex für alle Vorteile, die Ihren laufenden Server betreffen (Prioritätswarteschlange, VIP-Kits, Autos, Skins).
- Behalten Sie Stripe nur für digitale Produkte und Dienste außerhalb des Servers.
Interne Links (FiveMX)
- Übersicht über die Monetarisierungsrichtlinien → https://fivemx.com/terms-conditions
- Rückerstattung & Rückgabe für digitale Güter → https://fivemx.com/guarantee
- Vorlage für die Skriptlizenzierung → https://fivemx.com/terms-conditions
- DMCA-Löschung → https://fivemx.com/dmca-request
- Hinweise zur Leistung und zum Schutz vor Cheaten → https://fivemx.com/performance
Externe Referenzen
- Cfx.re PLA + Tebex-only Monetarisierung und Dokumente.
- Stripe-Webhooks und Signaturüberprüfung.
- Stripe-Idempotenzschlüssel und SCA.
- EU-Verbraucherrecht: Ausnahmen vom Widerrufsrecht bei digitalen Inhalten.
- Stripe-Steuer: digitale Güter und OSS.
Checkliste für die Versandbereitschaft
- Stripe-Konto verifiziert; Geschäftsdetails vollständig.
- Produkte + Preise erstellt; Metadatensatz.
- Checkout-Sitzungs-API live; Erfolgs-/Abbruchrouten.
- Webhook-Endpunkt live; Signatur verifiziert; Wiederholungsversuche getestet.
- Erfüllung: Lizenzgenerator, signierte Download-URL, E-Mail.
- Steuern auf; Rechnungs-PDFs gespeichert; Mehrwertsteuerprüfung.
- Rechtliche Seiten: Bedingungen, Rückerstattungen, Datenschutz, Lizenz.
- Protokolle + Dashboards: Bestellungen, Fehler, Wiederholungsversuche, Streitigkeiten.
- Audit: kein Verkauf von Server-Vergünstigungen außerhalb von Tebex.
FAQ (kurz)
- Kann ich mit Stripe VIP-Rollen verkaufen? Ja, wenn Sie Discord verwenden.
- Kann ich meine MLOs mit Stripe verkaufen? Ja, sofern die Bereitstellung außerhalb des Servers erfolgt und nicht an Live-Vergünstigungen gebunden ist.
- Erhalten Käufer eine 14-tägige Rückerstattung? Für die EU gilt: nicht, nachdem Sie der sofortigen digitalen Bereitstellung zugestimmt und den Download gestartet haben. Zustimmung protokollieren.
- Welcher Stripe-Flow ist der beste? Checkout für Geschwindigkeit; Zahlungsabsichten, wenn Sie umfangreiche Anpassungen benötigen.






