Nutzungsbasierte Abrechnung mit Preislisten einrichtenPrivate Vorschau
Belasten Sie Kundenkonten basierend auf komplexen Preismodellen mit Preislisten und Abonnements.
Sie können Kundinnen/Kunden über eine Preisliste viele verschiedene Tarife für nutzungsbasierte Dienste zuweisen. Sie können der Preisliste neue Tarife hinzufügen und diese neuen Tarife sofort auf die Kunden/Kundinnen anwenden. Preislisten sind versioniert, sodass Sie die Preise für neue Kundinnen/Kunden anpassen können, während Sie für bestehende Kundinnen/Kunden einen älteren Tarif beibehalten können.
Private Vorschau
Preislisten befinden sich derzeit in der privaten Vorschau und können sich hinsichtlich Funktionalität und Integrationspfad noch ändern, bevor sie allgemein für alle Stripe-Nutzer/innen verfügbar sind. Kontakt hier, um Zugriff anzufordern.
Bevor Sie starten
Preislisten mit /v2
-API-Endpoints, z. B. Preislistenabonnements. Erfahren Sie mehr über die /v2- und /v1-Namespaces.
Sie können nur Sandboxes mit /v2
-APIs verwenden.
Preisliste erstellen
Verwenden Sie das Stripe-Dashboard oder die API, um eine Preisliste zu erstellen, die mehrere Preise und Preisoptionen enthalten kann.
Für jede Preisliste können Sie Folgendes konfigurieren:
- Service-Intervall: Monatlich, jährlich, wöchentlich oder nutzerdefiniert.
- Währung
- Steuer soll in Preisen enthalten sein
Für jeden Artikel in einer Preisliste können Sie Folgendes konfigurieren:
- Zähler: Welcher Zähler zum Aufzeichnen der Nutzung verwendet werden soll.
- Preistyp: Festpreis, Volumen oder gestaffelt.
- Verkaufen als: Berechnen Sie nach einzelnen Einheiten oder nach Einheitengruppen in Form von Paketen. Wenn Sie Pakete verwenden, geben Sie die Anzahl der Einheiten pro Paket an und wie Teilpakete auf- oder abgerundet werden sollen.
- Erweiterte Einstellungen: Sie können optional den Produktsteuercode angeben. Sie können auch eine Einheitenbezeichnung, einen Suchschlüssel, Metadaten und Metadaten für die Preiseinstellungen hinzufügen.
Sie müssen jeden Tarif in einer Preisliste mit einem Zähler verknüpfen.
Ihren Kunden/Ihre Kundin für eine Preisliste registrieren
Bevor Sie ein Abonnement erstellen, müssen Sie ein Customer-Objekt erstellen und Rechnungsinformationen angeben. Sie können dies im Dashboard, mit der API oder über Stripe Checkout durchführen.
Kundennutzung aufzeichnen
Nachdem Sie für einen Kunden/eine Kundin eine Preisliste registriert haben, können Sie die Nutzung Ihrer Dienstleistung aufzeichnen, indem Sie Zählerereignisse an einen Zähler senden.
Eine Rechnungsvorschau erstellen
Erstellen Sie eine Rechnungsvorschau, um eine Vorschau der Rechnung eines Kunden/einer Kundin anzuzeigen, die Details wie den Zählerpreis und die Nutzungsmenge enthält.
Wartungsereignisse überwachen
Preislistenabonnements geben Ereignisbenachrichtigungen aus, wenn sich der Status der Wartung ändert. Erfahren Sie mehr darüber, wie das Serviceintervall funktioniert.
Überwachen Sie diese Ereignisse und verwenden Sie sie, um Ihre Geschäftslogik zu erstellen:
v2. | Wird gesendet, wenn ein Kunde/eine Kundin ein Abonnement zum ersten Mal aktiviert. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v2. | Wird gesendet, wenn Kundinnen/Kunden ein Abonnement unterbrechen. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v2. | Wird gesendet, wenn ein Kunde/eine Kundin ein Abonnement kündigt. |
Um diese v2-Ereignisse zu verarbeiten, konfigurieren Sie ein Ereignisziel und verweisen Sie es auf Ihren Webhook-Endpoint. Sie können entweder:
- Erstellen Sie das Ereignisziel aus Workbench.
- Erstellen Sie das Ereignisziel über die Stripe-API.
Nachdem Sie ein Ziel erstellt haben, können Sie Ihren Webhook-Endpoint so einrichten, dass er diese Ereignisse verarbeitet:
require 'stripe' post '/v2_webhook_endpoint' do payload = request.body.read sig_header = request.env['HTTP_STRIPE_SIGNATURE'] event = nil begin event = Stripe::Webhook.construct_event( payload, sig_header, endpoint_secret ) rescue JSON::ParserError => e status 400 return rescue Stripe::SignatureVerificationError => e status 400 return end client = Stripe::StripeClient(
) case event.type when 'v2.billing.rate_card_subscription.servicing_activated' # The customer clicked Pay on Stripe Checkout, which activates the service. subscription_id = event.related_object.id subscription = client.v2.billing.rate_card_subscriptions .retrieve(subscription_id) # Look up your user in the database using the metadata passed into # Checkout Session create user_id = subscription.metadata["my_user_id"] user = User.find_by_id(user_id) # Fill in your logic here: mark_subscription_active(user, subscription) when 'v2.billing.rate_card_subscription.servicing_paused' # The customer paused the subscription. subscription_id = event.related_object.id subscription = client.v2.billing.rate_card_subscriptions .retrieve(subscription_id) # Look up your user in the database using the metadata passed into # Checkout Session create user_id = subscription.metadata["my_user_id"] user = User.find_by_id(user_id) # Fill in your logic here: mark_subscription_paused(user, subscription) when 'v2.billing.rate_card_subscription.servicing_canceled' # The customer canceled the subscription. subscription_id = event.related_object.id subscription = client.v2.billing.rate_card_subscriptions .retrieve(subscription_id) # Look up your user in the database using the metadata passed into # Checkout Session create user_id = subscription.metadata["my_user_id"] user = User.find_by_id(user_id) # Fill in your logic here: mark_subscription_canceled(user, subscription) end status 200 end"sk_test_BQokikJOvBiI2HlWgH4olfQ2"