Weiter zum Inhalt
Konto erstellen oder anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellenAnmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
APIs und SDKsHilfe
Übersicht
Informationen zu Stripe Payments
Aktualisieren Sie Ihre Integration
Zahlungsanalysefunktionen
Online-Zahlungen
ÜbersichtIhren Use case findenVerwenden Sie Managed Payments
Payment Links verwenden
Vorgefertigte Checkout-Seite verwenden
Erstellen Sie eine benutzerdefinierte Integration mit Elements
    Übersicht
    QuickStart-Leitfäden
    Stripe Elements
    Vergleichen Sie Checkout-Sitzungen und PaymentIntents
    Erweiterte Integration entwerfen
    Erscheinungsbild anpassen
    Zahlungsmethoden verwalten
    Zusätzliche Informationen erfassen
    Abonnement-Integration erstellen
    Dynamische Aktualisierungen
      Versandoptionen
      Posten
      Dauer der Testphase
      Discounts
      Zahlungsbeträge
      Mengen der Posten
    Rabatte hinzufügen
    Steuern auf Ihre Zahlungen einziehen
    Gutschriften einlösen
    Lassen Sie Kundinnen/Kunden in ihrer Landeswährung zahlen
    Zahlungsmethoden von Kundinnen und Kunden speichern und abrufen
    Belege und bezahlte Rechnungen senden
    Zahlungen auf Ihrem Server manuell genehmigen
    Eine Zahlung separat autorisieren und einziehen
    Elements mit Checkout Sessions API-Änderungsprotokoll (Beta)
In-App-Integration erstellen
Präsenzzahlungen
Terminal
Zahlungsmethoden
Zahlungsmethoden hinzufügen
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsszenarien
Umgang mit mehreren Währungen
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Mehr als Zahlungen
Unternehmensgründung
Krypto
Agentenbasierter Handel
Financial Connections
Climate
Betrug verstehen
Betrugsprävention von Radar
Zahlungsanfechtungen verwalten
Identitäten verifizieren
Vereinigte Staaten
Deutsch
StartseiteZahlungenBuild a custom integration with ElementsDynamic updates

Testzeiträume dynamisch aktualisieren

Erfahren Sie, wie Sie Testzeiträume für Abos während des Bezahlvorgangs ändern können.

Private Vorschau

Dynamische Aktualisierungen von Testzeiträumen befinden sich in der privaten Vorschau. Zugriff auf dynamische Aktualisierungen von Testzeiträumen anfordern.

Erfahren Sie, wie Sie die Testdauer für Abonnement-Checkout-Sitzungen dynamisch aktualisieren.

Anwendungsszenarien

  • Dynamische Verwaltung von Testversionen: Fügen Sie Testversionen basierend auf Aktionsbedingungen oder Kundenaktionen hinzu oder entfernen Sie sie.
  • Testversionen für Upsells verlängern: Bieten Sie längere Testzeiträume an, wenn Kundinnen und Kunden Upgrades auf höherwertige Pläne durchführen (z. B. 7 Tage für monatliche Zahlungen werden auf 14 Tage für jährliche Zahlungen verlängert).

Payment Intents API

Wenn Sie die Payment Intents API verwenden, können Sie die Testeinstellungen mit der Subscriptions API anpassen.

SDK einrichten
Serverseitig

Verwenden Sie unsere offiziellen Bibliotheken, um von Ihrer Anwendung aus auf die Stripe API zuzugreifen:

Command Line
Ruby
Python
PHP
Node.js
.NET
Go
Java
No results
gem install stripe -v 15.1.0-beta.2

Server-SDK aktualisieren
Serverseitig

Wenn Sie diese Beta verwenden möchten, aktualisieren Sie zunächst Ihr SDK, um die private API-Vorschauversion und den Beta-Header checkout_server_update_beta=v1 zu verwenden.

Ruby
Python
PHP
Node
.NET
Gehen Sie zu
Java
No results
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
Stripe.api_version = '2025-03-31.preview; checkout_server_update_beta=v1;'

Testzeiträume dynamisch aktualisieren
Serverseitig

Erstellen Sie einen Endpoint auf Ihrem Server, um den Testzeitraum für ein jährliches Upselling in der Checkout-Sitzung zu aktualisieren. Sie rufen diesen in einem späteren Schritt über das Frontend auf.

Sicherheitshinweis

Client-seitiger Code wird in einer Umgebung ausgeführt, die von dem/der Nutzer/in kontrolliert wird. Böswillige Nutzer/innen können Ihre clientseitige Validierung umgehen, Anfragen abfangen und ändern oder neue Anfragen an Ihren Server erstellen.

Beim Erstellen eines Endpoints empfehlen wir Folgendes:

  • Erstellen Sie Endpoints für bestimmte Kundeninteraktionen, anstatt sie allgemein zu gestalten. Beispiel: „Testzeitraum für jährliches Upgrade verlängern“ statt einer allgemeinen „Aktualisieren“-Aktion. Spezifische Endpoints können beim Schreiben und Pflegen der Validierungslogik helfen.
  • Übergeben Sie Sitzungsdaten nicht direkt vom Client an Ihren Endpoint. Bösartige Clients können Anfragedaten ändern, was sie zu einer unzuverlässigen Quelle für die Bestimmung des Status der Checkout-Sitzung macht. Übergeben Sie stattdessen die Sitzungs-ID an Ihren Server und verwenden Sie diese, um die Daten sicher von der Stripe API abzurufen.

Sie können die Testzeiträume wie folgt aktualisieren:

  • trial_period_days: Eine Ganzzahl, die die Anzahl der Tage für den Testzeitraum darstellt, oder eine leere Zeichenfolge, um den Testzeitraum zu entfernen.
  • trial_end: Ein Unix-Zeitstempel, der angibt, wann der Testzeitraum enden soll, oder eine leere Zeichenfolge, um den Testzeitraum zu entfernen.

Beachten Sie Folgendes:

  • Die Parameter trial_period_days und trial_end schließen sich gegenseitig aus. Sie können nur einen von ihnen in einer einzigen Anfrage angeben.
  • Verwenden Sie beim Entfernen einer Testversion dasselbe Feld, mit dem sie festgelegt wurde. Sie können nur trial_period_days: "" verwenden, um eine Testversion mit trial_period_days zu entfernen. Sie können nur trial_end: "" verwenden, um eine Testversion mit trial_end zu entfernen.
Ruby
Python
PHP
Node.js
.NET
Go
Java
No results
require 'sinatra' require 'json' require 'stripe' set :port, 4242 # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
Stripe.api_version = '2025-03-31.preview; checkout_server_update_beta=v1;' post '/extend-trial-for-yearly' do content_type :json request.body.rewind request_data = JSON.parse(request.body.read) checkout_session_id = request_data['checkout_session_id'] if checkout_session_id.nil? status 400 return { type: 'error', message: 'We could not process your request. Please try again later.' }.to_json end begin # 1. Retrieve the current session to validate it's a subscription session = Stripe::Checkout::Session.retrieve(checkout_session_id) unless session.mode == 'subscription' status 400 return { type: 'error', message: 'Trial updates are only available for subscription sessions.' }.to_json end # 2. Update the Checkout Session with extended trial duration Stripe::Checkout::Session.update(checkout_session_id, { subscription_data: { trial_period_days: 14, } }) # 3. Return success response { type: 'success' }.to_json rescue Stripe::StripeError # Handle Stripe errors with a generic error message status 400 { type: 'error', message: 'We couldn't process your request. Please try again later.' }.to_json rescue StandardError # Handle unexpected errors status 500 { type: 'error', message: 'Something went wrong on our end. Please try again later.' }.to_json end end

Client-SDK aktualisieren
Clientseitig

Initialisieren Sie Stripe.js mit dem Beta-Header custom_checkout_server_updates_1.

checkout.js
const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
, { betas: ['custom_checkout_server_updates_1'], });

Server-Aktualisierungen anfordern
Clientseitig

Senden Sie von Ihrem Frontend aus eine Aktualisierungsanfrage an Ihren Server und schließen Sie sie in runServerUpdate ein. Eine erfolgreiche Anfrage aktualisiert das Sitzungsobjekt mit dem neuen Testzeitraum.

index.html
<button id="extend-trial-yearly"> Upgrade to a yearly subscription and get an extended trial </button>
checkout.js
document.getElementById('extend-trial-yearly') .addEventListener("click", async (event) => { const updateCheckout = () => { return fetch("/extend-trial-for-yearly", { method: "POST", headers: { "Content-type": "application/json", }, body: JSON.stringify({ checkout_session_id: actions.getSession().id, }) }); }; const response = await checkout.runServerUpdate(updateCheckout); if (!response.ok) { // Handle error state return; } // Update UI to reflect the extended trial event.target.textContent = "Trial extended to 14 days!"; event.target.disabled = true; });

Integration testen

Testen Sie Ihre Integration, um sicherzustellen, dass Aktualisierungen der Testdauer korrekt funktionieren:

  1. Erstellen Sie eine Checkout-Sitzung für ein Abonnement mit einem anfänglichen Testzeitraum.
  2. Lösen Sie Ihren Server-Endpoint aus, indem Sie mit dem von Ihnen erstellten Nutzeroberflächenelement interagieren.
  3. Überprüfen Sie, ob die Testdauer in der Checkout-Sitzung korrekt aktualisiert wurde.
  4. Schließen Sie den Bezahlvorgang ab, um sicherzustellen, dass das Abonnement mit den korrekten Testeinstellungen erstellt wird.

Hinweis

Verwenden Sie zum Testen den Testmodus von Stripe, um die Erstellung von Live-Abonnements zu vermeiden. Sie können die Änderungen an der Testdauer überprüfen, indem Sie das Checkout Session-Objekt oder das erstellte Abonnement überprüfen.

Häufige Testszenarien

  • Verlängerung des Testzeitraums: Beginnen Sie mit einer 7-tägigen kostenlosen Testversion, verlängern Sie sie auf 14 Tage und überprüfen Sie, ob die Änderung in der Nutzeroberfläche und im Sitzungsobjekt angezeigt wird.
  • Bestehende Testversion entfernen: Beginnen Sie mit einer 7-tägigen kostenlosen Testversion, entfernen Sie diese und überprüfen Sie, ob die Änderung in der Nutzeroberfläche und im Sitzungsobjekt angezeigt wird. Entfernen Sie die Testversion mit demselben Feld, mit dem sie festgelegt wurde.
  • Fehlerbehebung: Testen Sie ungültige Anfragen, um sicherzustellen, dass Ihre Fehlerbehandlung korrekt funktioniert.
War diese Seite hilfreich?
JaNein
  • Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
  • Schauen Sie sich unser Änderungsprotokoll an.
  • Fragen? Sales-Team kontaktieren.
  • LLM? Lesen Sie llms.txt.
  • Unterstützt von Markdoc