Rabatte dynamisch aktualisierenPrivate Vorschau
Aktualisieren Sie Rabatte als Reaktion auf Änderungen, die Kundinnen/Kunden während des Bezahlvorgangs vornehmen.
Private Vorschau
Diese Funktion befindet sich in der privaten Vorschau. Fordern Sie Zugriff auf dynamische Aktualisierungen am Bezahlvorgang an.
Erfahren Sie, wie Sie dynamisch Rabatte für eine Checkout-Sitzung hinzufügen oder entfernen.
Anwendungsszenarien
In diesem Leitfaden wird beschrieben, wie eine Vernetzung mit Ihrem internen Rabattsystem durchführen, um dynamische Rabatte zu erstellen. Sie können aber auch:
- Treuerabatte anwenden: Wenden Sie automatisch Rabatte basierend auf der Treuestufe der Kundinnen/Kunden oder der Kaufhistorie an.
- Werbeaktionen für den Warenkorb: Fügen Sie Rabatte hinzu, wenn die Bestellsumme bestimmte Schwellenwerte überschreitet (z. B. Rabatt in Höhe von 10 $ auf Bestellungen über 100 $).
- Kurzfristige Angebote: Wenden Sie zeitlich begrenzte Aktionsrabatte an oder entfernen Sie abgelaufene Rabattcodes.
- Standortbezogene Rabatte: Wenden Sie regionsspezifische Rabatte basierend auf der Versandadresse des Kunden/der Kundin an.
- Kundenspezifische Angebote: Erstellen Sie personalisierte Rabattbeträge basierend auf Kundensegmenten oder vorherigem Kaufverhalten.
SDK einrichtenServerseitig
Verwenden Sie unsere offiziellen Bibliotheken, um von Ihrer Anwendung aus auf die Stripe API zuzugreifen:
Server-SDK aktualisierenServerseitig
Um diese Vorschaufunktion zu verwenden, aktualisieren Sie zunächst Ihr SDK, um den checkout_
-Header für die Betaversion zu verwenden.
Berechtigungen zum Aktualisieren der Checkout-Sitzung konfigurierenServerseitig
Übergeben Sie permissions.update_discounts=server_only, wenn Sie die Checkout-Sitzung erstellen, um die Aktualisierung von Rabatten über Ihren Server zu ermöglichen. Durch die Übergabe dieser Option wird die clientseitige Rabattanwendung deaktiviert, wodurch sichergestellt wird, dass die gesamte Rabattlogik über Ihren Server läuft.
Rabatte dynamisch aktualisierenServerseitig
Erstellen Sie einen neuen Endpoint auf Ihrem Server, um Rabatte auf die Checkout-Sitzung anzuwenden. Sie werden dies in einem späteren Schritt vom Frontend aus aufrufen.
Sicherheitshinweis
Clientseitiger Code wird in einer Umgebung ausgeführt, die vollständig vom Nutzer/von der Nutzerin kontrolliert wird. Ein/e böswillige/r Nutzer/in kann 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 bestimmte Kundeninteraktionen, anstatt sie zu allgemein zu halten (z. B. „Treuerabatt anwenden“ statt einer allgemeinen „Update“-Aktion). Spezifische Endpoints helfen dabei, den Zweck klar zu halten und die Validierungslogik einfacher zu schreiben und zu pflegen.
- Übergeben Sie Sitzungsdaten nicht direkt vom Client an Ihren Endpunkt. 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.
Integration testen
Befolgen Sie diese Schritte, um Ihre Integration zu testen und sicherzustellen, dass Ihre dynamischen Rabatte korrekt funktionieren.
Richten Sie eine Sandbox-Umgebung ein, die die Einrichtung Ihrer Produktionsumgebung widerspiegelt. Verwenden Sie Ihre Sandbox-API-Schlüssel von Stripe für diese Umgebung.
Simulieren Sie verschiedene Rabattszenarien, um zu überprüfen, ob Ihre Funktion
recomputeDiscounts
verschiedene Szenarien korrekt verarbeitet.Überprüfen Sie die serverseitige Logik, indem Sie Log- oder Debugging-Tools verwenden, um zu bestätigen, dass Ihr Server Folgendes tut:
- Ruft die Checkout-Sitzung ab.
- Validiert Rabattanfragen.
- Berechnet aktualisierte Rabatte basierend auf Ihrer Geschäftslogik neu.
- Aktualisiert die Checkout-Sitzung mit den neuen Rabatten, wenn Ihre nutzerdefinierten Bedingungen erfüllt sind. Stellen Sie sicher, dass die aktualisierte Antwort die neuen Rabatte enthält. Standardmäßig enthält die Antwort das Rabattfeld nicht, es sei denn, die Anfrage erweitert das Objekt.
Überprüfen Sie die clientseitige Logik, indem Sie den Bezahlvorgang mehrmals in Ihrem Browser abschließen. Achten Sie darauf, wie die Nutzeroberfläche nach dem Anwenden eines Rabatts aktualisiert wird. Stellen Sie sicher, dass:
- Die Funktion runServerUpdate wird wie erwartet aufgerufen.
- Rabatte werden basierend auf Ihrer Geschäftslogik korrekt angewendet.
- Die Gesamtsumme des Bezahlvorgangs wird aktualisiert, um den angewendeten Rabatt widerzuspiegeln.
- Fehlermeldungen werden ordnungsgemäß angezeigt, wenn ein Rabatt nicht angewendet werden konnte.
Testen Sie verschiedene Rabattszenarien, einschließlich ungültiger Rabattanfragen, oder simulieren Sie Serverfehler, um den Umgang mit Fehlern sowohl serverseitig als auch clientseitig zu testen.