Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
Übersicht
Informationen zu Stripe Payments
Aktualisieren Sie Ihre Integration
Zahlungsanalysefunktionen
Online-Zahlungen
ÜbersichtIhren Use case findenZahlungen verwalten
Payment Links verwenden
Bezahlseite erstellen
    Übersicht
    Quickstarts
    Erscheinungsbild anpassen
    Zusätzliche Informationen erfassen
    Steuern einziehen
    Bezahlvorgang dynamisch aktualisieren
      Versandoptionen dynamisch anpassen
      Einzelposten dynamisch aktualisieren
      Testzeiträume dynamisch anpassen
      Dynamisches Aktualisieren von Rabatten
    Ihren Produktkatalog verwalten
    Abonnements
    Zahlungsmethoden verwalten
    Lassen Sie Kundinnen/Kunden in ihrer Landeswährung zahlen
    Rabatte, Upselling und optionale Artikel hinzufügen
    Zukünftige Zahlungen einrichten
    Zahlungsdaten bei der Zahlung speichern
    Zahlungen auf Ihrem Server manuell genehmigen
    Nach der Zahlung
    Elements mit Checkout Sessions API-Änderungsprotokoll (Beta)
    Vom bisherigen Bezahlvorgang migrieren
    Bezahlvorgang auf Prices umstellen
Erweiterte Integration erstellen
In-App-Integration erstellen
Zahlungsmethoden
Zahlungsmethoden hinzufügen
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsschnittstellen
Payment Links
Checkout
Web Elements
In-App-Elements
Zahlungsszenarien
Umgang mit mehreren Währungen
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
Mehr als Zahlungen
Unternehmensgründung
Krypto
Financial Connections
Climate
Betrug verstehen
Betrugsprävention von Radar
Zahlungsanfechtungen verwalten
Identitäten verifizieren
StartseiteZahlungenBuild a checkout pageDynamically update checkout

Dynamische Aktualisierung der TestdauerPrivate Vorschau

Aktualisieren Sie die Dauer von Testversionen als Reaktion auf Änderungen, die während des Bezahlvorgangs vorgenommen wurden.

Private Vorschau

Diese Funktion befindet sich in der privaten Vorschau. Zugriff auf dynamische Testversionen 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).

SDK einrichten
Serverseitig

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

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

Server-SDK aktualisieren
Serverseitig

Um diese Beta-Version zu verwenden, aktualisieren Sie zunächst Ihr SDK, um die API-Version der privaten Vorschau und den Header checkout_server_update_beta=v1 für die Beta-Version zu verwenden.

Ruby
Python
PHP
Node
.NET
Go
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;'

Dynamische Aktualisierung der Testdauer
Serverseitig

Erstellen Sie einen neuen Endpoint auf Ihrem Server, um die Testdauer für einen jährlichen Upsell in der Checkout-Sitzung zu aktualisieren. Sie rufen dies in einem späteren Schritt vom Frontend aus auf.

Sicherheitshinweis

Clientseitiger Code wird in einer Umgebung ausgeführt, die vollständig vom Nutzer/von der Nutzerin kontrolliert wird. Böswillige Nutzer/innen können Ihre clientseitige Validierung umgehen, Anfragen abfangen und ändern oder sogar völlig neue Anfragen an Ihren Server erstellen.

Beim Entwerfen des Endpoints wird Folgendes empfohlen:

  • Entwerfen Sie Endpoints für spezifische Kundeninteraktionen, anstatt sie zu allgemein zu halten (z. B. „Testzeitraum für jährliches Upgrade verlängern“ statt einer allgemeinen „Update“-Aktion). Spezifische Endpoints helfen dabei, den Zweck klar zu halten und die Validierungslogik einfacher zu schreiben und zu pflegen.
  • Vermeiden Sie es, Sitzungsdaten direkt vom Client an Ihren Endpunkt zu übertragen. Böswillige Clients können Anforderungsdaten ändern, was sie zu einer unzuverlässigen Quelle für die Bestimmung des Checkout-Sitzungsstatus macht. Übergeben Sie stattdessen die Sitzungs-ID an Ihren Server und verwenden Sie sie, um die Daten sicher von der API Stripe abzurufen.

Sie können die Testdauer wie folgt aktualisieren:

  • trial_period_days: Eine ganze Zahl, 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 die Testphase enden soll, oder eine leere Zeichenfolge zum Entfernen der Testversion

Beachten Sie Folgendes:

  • Die Parameter trial_period_days und trial_end schließen sich gegenseitig aus. Sie können nur einen davon in einer einzigen Aktualisierungsanfrage angeben.
  • Wenn Sie eine Testversion entfernen, verwenden Sie dasselbe Feld, mit dem sie festgelegt wurde. Ein Test-Set mit dem Parameter trial_period_days kann nur mit trial_period_days: "" entfernt werden, und ein Test-Set mit trial_end kann nur mit trial_end: "" entfernt werden.
Ruby
Python
PHP
Node
.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'], });

Serveraktualisierungen aufrufen
Clientseitig

Lösen Sie das Update von Ihrem Frontend aus, indem Sie eine Anfrage an Ihren Server stellen und diese in runServerUpdate einschließen. Wenn die Anfrage erfolgreich ist, wird das Session-Objekt mit der neuen Testdauer aktualisiert.

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: checkout.session().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.

Notiz

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.
  • Nehmen Sie an unserem Programm für frühzeitigen Zugriff teil.
  • Schauen Sie sich unser Änderungsprotokoll an.
  • Fragen? Sales-Team kontaktieren.
  • LLM? Lesen Sie llms.txt.
  • Unterstützt von Markdoc