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 Preise für nutzungsbasierte Dienste anbieten. 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 und Kunden anpassen können, während Sie für bestehende Kundinnen und Kunden einen älteren Preis beibehalten.
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 nutzen /v2
-API-Endpoints, z. B. Preislistenabonnements. Erfahren Sie mehr über die /v2- und /v1-Namespaces.
Use sandboxes to test your rate card integration. You can’t use test mode with /v2
APIs like Rate Cards.
Preisliste erstellen
Verwenden Sie das Stripe-Dashboard oder die API, um eine Preisliste zu erstellen, die mehrere Preise enthält, wobei jeder Preis einen abrechenbaren Artikel, einen Zähler und ein Preismodell angibt.
Für jede Preisliste können Sie Folgendes konfigurieren:
- Serviceintervall: Monatlich, jährlich, wöchentlich oder nutzerdefiniert.
- Währung
- Steuer soll in Preisen enthalten sein: Geben Sie an, ob die Steuer in Ihren Preis einbezogen werden soll (inklusive) oder ob sie zur Zwischensumme der Rechnung hinzuaddiert werden soll (exklusive). Erfahren Sie mehr über inklusive und exklusive Steuern für die Abrechnung.
Sie können das Serviceintervall, die Währung oder die Steuerberechnungsparameter nicht mehr ändern, nachdem Sie die Preisliste erstellt haben.
Nachdem Sie das Serviceintervall, die Währung und die Steuerparameter festgelegt haben, können Sie mehrere Preise in der Preisliste definieren. Jeder Preis gibt einen abrechenbaren Posten (das, was Sie verkaufen), den Zähler, der die Nutzung dieses Postens verfolgt, und das auf die Nutzung angewendete Preismodell an:
- 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 und Metadaten zum Preis und zum abrechenbaren Posten hinzufügen.
Sie können jederzeit neue Preise zu einer Preisliste hinzufügen. Wenn Sie vorhandene Preise ändern oder löschen, wird eine neue Version der Preisliste erstellt.
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"