Flexprice ist eine Open-Source-Abrechnungs- und Metering-Plattform für Entwickler, die Nutzungsabrechnungen, abonnementbasierte und hybride Abrechnungsmodelle unterstützt. Benutzer können es in der Cloud oder selbst gehostet mit voller Code-Transparenz einsetzen, um eine Anbieterbindung zu vermeiden. Die Plattform vereinfacht die Abrechnungslogik von Entwicklern durch die Verarbeitung von Nutzungsdaten in Echtzeit, die automatische Berechnung von Preisen, die Anwendung von Gutschriften, die Einschränkung von Funktionen und die Erstellung von Rechnungen. Flexprice lässt sich nahtlos in bestehende Zahlungs-Gateways, CRMs und Buchhaltungstools für Unternehmen integrieren, die eine flexible Abrechnung benötigen. Flexprice bietet SDKs in Python, JavaScript und Go für Entwickler zur schnellen Integration. Die offizielle Dokumentation und der Community-Support sind gut entwickelt und sowohl für Anfänger als auch für professionelle Entwickler geeignet.
Funktionsliste
- Nutzungsmessung in EchtzeitUnterstützung für die Definition benutzerdefinierter Ereignisse wie API-Aufrufe, Berechnungszeiten usw. sowie die Verfolgung und Verarbeitung von Millionen von Ereignissen in Echtzeit.
- KreditmanagementUnterstützung von Prepaid- und Aktionsguthaben, Festlegung von Schwellenwerten für die automatische Aufladung oder Regeln für den Ablauf von Guthaben.
- Flexible PreismodelleUnterstützt Nutzungsabrechnungen, Abonnement-basierte, gestaffelte Preise oder hybride Modelle für schnelle Preisanpassungen.
- Funktionelle EinschränkungenVereinfachen Sie die Rechteverwaltung, indem Sie Funktionsschalter oder Nutzungsbeschränkungen auf der Grundlage von Benutzerplänen festlegen.
- Automatische RechnungserstellungGenerieren Sie übersichtliche Rechnungen auf der Grundlage von Echtzeit-Nutzung und Abonnements, mit Unterstützung für Abrechnungszyklen und Overage-Management.
- SDK-IntegrationSDKs für Python, JavaScript und Go sind für die schnelle Integration in bestehende Systeme verfügbar.
- Selbstgehostete OptionDer offene Quellcode unterstützt das Selbsthosten und ermöglicht die Anpassung von Speicher, Warteschlangen und Schlüsseln.
- Integration von MultitoolsNahtlose Konnektivität mit Zahlungstools wie Stripe, Chargebee und CRM-Systemen.
Hilfe verwenden
Einbauverfahren
Flexprice unterstützt die lokale Entwicklung oder die Ausführung aus dem Quellcode und erfordert die Installation der Tools Docker, Go und Make. Hier sind die detaillierten Installationsschritte, basierend auf den offiziellen Anweisungen des GitHub-Repositorys:
- Klon-Lager::
git clone https://github.com/flexprice/flexprice cd flexprice
Klonen Sie das Flexprice-Repository lokal und wechseln Sie in das Projektverzeichnis.
- Einrichten der Entwicklungsumgebung::
make dev-setup
Dieser Befehl installiert automatisch die Abhängigkeiten und konfiguriert die Umgebung, einschließlich Postgres, Kafka, ClickHouse und Temporal.
- Initiierung der Infrastruktur::
docker compose up -d postgres kafka clickhouse temporal temporal-ui
Starten Sie die erforderlichen Datenbank- und Message-Queue-Dienste.
- Betrieb des Flexprice-Dienstes::
go run cmd/server/main.go
Starten Sie den Hauptdienst von Flexprice, der in der lokalen Umgebung läuft.
- Andere gängige Befehle::
- Starten Sie den Flexprice-Dienst neu:
make restart-flexprice
- Stoppen Sie alle Dienste:
make down
- Aufräumen und neu starten:
make clean-start
- Erstellen Sie das Bild separat:
make build-image
- Starten Sie den Flexprice-Dienst neu:
- Front-End-Konfiguration(fakultativ):
Wenn Sie eine Front-End-Schnittstelle benötigen, klonen Sie das Front-End-Repository:git clone https://github.com/flexprice/flexprice-front cd flexprice-front cp .env.example .env
konfigurieren.
.env.local
setzen Sie die folgenden Variablen:VITE_SUPABASE_URL=your-supabase-url VITE_SUPABASE_ANON_KEY=your-supabase-anon-key VITE_API_URL=http://localhost:8080/v1 VITE_ENVIRONMENT=development
Starten Sie den Front-End-Entwicklungsserver:
npm run dev
Interviews
http://localhost:3000
Zeigen Sie die Front-End-Schnittstelle an.
Funktion Betriebsablauf
Nutzungsmessung in Echtzeit
Flexprice ermöglicht es Entwicklern, benutzerdefinierte Ereignisse zu definieren (z. B. API-Aufrufe, Berechnungszeiten). Die Ereignisdaten werden über das SDK an Flexprice gesendet, und das System aggregiert und speichert die Daten in Echtzeit. Verfahren:
- Verwenden Sie ein SDK (wie Python oder JavaScript), um Ereignisse zu senden:
from flexprice import FlexpriceClient client = FlexpriceClient(api_key="your-api-key") client.track_event(user_id="user123", event_type="api_call", value=1)
- Zeigen Sie die Nutzungsdaten in Echtzeit im Flexprice-Dashboard an, um die Genauigkeit sicherzustellen.
Kreditmanagement
Unterstützung von Prepaid- oder Werbekrediten. Operation Prozess:
- Erstellen Sie im Dashboard einen Kreditplan und legen Sie das Kreditlimit, den Schwellenwert für die automatische Wiederaufladung oder die Ablaufzeit fest.
- Verwenden Sie die API, um Kredite zu vergeben:
const flexprice = new Flexprice({ apiKey: "your-api-key" }); flexprice.grantCredit({ userId: "user123", amount: 100, expires: "2025-12-31" });
- Das System verfolgt automatisch den Verbrauch des Guthabens und zieht es ab, wenn der Nutzer es ausgibt.
Einrichtung des Preismodells
Flexprice unterstützt eine flexible Preisgestaltung. Operative Prozesse:
- Melden Sie sich beim Dashboard an und erstellen Sie einen Preisplan (z. B. Pay-per-Use oder Abonnement).
- Definieren Sie Abrechnungsregeln, z. B. 1 $ pro 100 API-Aufrufe.
- Der Plan wird über die API oder das Dashboard auf das Konto des Nutzers angewendet, und das System berechnet automatisch die Kosten.
Funktionelle Einschränkungen
Die Entwickler können Funktionsschalter oder Grenzen für verschiedene Pläne festlegen. Arbeitsschritte:
- Definition von Merkmalen in Dashboards (z.B. API-Aufrufe sind auf 1000 pro Monat begrenzt).
- Überprüfen Sie die Berechtigungen in der Anwendung:
if (flexprice.checkFeatureAccess("user123", "api_calls") < 1000) { // 允许访问 }
- Das System begrenzt automatisch die übermäßige Nutzung.
Erstellung von Rechnungen
Flexprice erstellt automatisch Rechnungen mit Angaben zu Nutzung, Abonnement und Guthaben. Betriebsverfahren:
- Konfigurieren Sie den Abrechnungszyklus (monatlich oder jährlich).
- Das System erstellt Rechnungen auf der Grundlage der Echtzeit-Nutzung, die an den Nutzer geschickt oder in Zahlungstools wie Stripe integriert werden.
- Zeigen Sie Rechnungsdetails im Dashboard an, um einen genauen Finanzabgleich zu gewährleisten.
caveat
- selbst gehostetVergewissern Sie sich, dass abhängige Dienste wie Postgres, Kafka usw. ordnungsgemäß ausgeführt werden, da andernfalls die Nutzungsmessung beeinträchtigt werden kann.
- SicherheitVerwenden Sie Umgebungsvariablen zum Speichern von API-Schlüsseln und vermeiden Sie Hardcoding.
- SkalierbarkeitSpeicher oder Warteschlangen können bei Bedarf ausgetauscht werden, so dass das System flexibel bleibt.
Anwendungsszenario
- Abrechnung der SaaS-Plattform
SaaS-Unternehmen können Flexprice nutzen, um nutzungsbasierte Abrechnungen oder abonnementbasierte Preismodelle zu implementieren, die sich schnell anpassen lassen. Zum Beispiel können API-Dienste pro Anruf abgerechnet werden, wobei Dashboards die Nutzung in Echtzeit anzeigen. - AI-Modell-Hosting
Die KI-Plattform kann die Nutzung von Rechenressourcen (z. B. GPU-Zeit) über Flexprice verfolgen, automatisch Rechnungen erstellen und den Benutzerzugriff einschränken, um die Kostenkontrolle zu gewährleisten. - Werbeaktionen auf der E-Commerce-Plattform
E-Commerce-Unternehmen können die Guthabenverwaltungsfunktion nutzen, um Werbeguthaben auszugeben und automatische Auflade- oder Verfallsregeln einzurichten, um die Kundenbindung zu erhöhen. - Abonnement für Entwicklungswerkzeuge
Anbieter von Entwickler-Tools können Abonnement- und Nutzungsabrechnung kombinieren, um Premium-Funktionen auf zahlende Benutzer zu beschränken und so die Verwaltung von Berechtigungen zu vereinfachen.
QA
- Ist Flexprice völlig kostenlos?
Flexprice ist eine Open-Source-Software und kann kostenlos selbst gehostet werden, aber einige Funktionen erfordern eine kommerzielle Lizenz. Für die Cloud-Version können Kosten anfallen, siehe https://flexprice.io für Details. - Wie kann ich Stripe integrieren?
Konfigurieren Sie den Stripe-API-Schlüssel im Dashboard und Flexprice wird automatisch Rechnungsdaten an Stripe weiterleiten, um Zahlungen zu verarbeiten. - Welche Programmiersprachen werden unterstützt?
SDKs sind für Python, JavaScript und Go verfügbar, mit ausführlicher Dokumentation im offiziellen GitHub-Repository. - Wie gehen Sie mit einer hohen gleichzeitigen Nutzung um?
Flexprice verwendet Kafka und ClickHouse, um Millionen von Ereignissen zu verarbeiten und die Datengenauigkeit in hochgradig gleichzeitigen Szenarien zu gewährleisten. - Welche Hardware-Anforderungen sind für das Self-Hosting erforderlich?
Empfohlen werden mindestens eine 4-Kern-CPU, 8 GB RAM und 50 GB Speicherplatz, je nach Umfang der Ereignisse und der Größe der Benutzer.