Versandoptionen während des Bezahlvorgangs anpassenBeta
Erfahren Sie, wie Sie Versandoptionen basierend auf der Versandadresse einer Kundin/eines Kunden anpassen.
Beta
Diese Funktion befindet sich in der privaten Beta-Phase.
Stripe einrichtenServerseitig
Zunächst benötigen Sie ein Stripe-Konto. Registrieren Sie sich jetzt.
Verwenden Sie unsere offiziellen Bibliotheken, um von Ihrer Anwendung aus auf die Stripe API zuzugreifen:
Legen Sie im SDK fest, dass der Betaversion-Header checkout_
verwendet wird.
Checkout-Sitzung erstellenServerseitig
Erstellen Sie von Ihrem Server aus eine Checkout-Sitzung.
- Legen Sie ui_mode auf
embedded
fest. - Legen Sie permissions.update.shipping_details auf
server_
fest.only - Legen Sie shipping_address_collection.allowed_countries auf die Liste der Länder, in die Sie den Versand anbieten möchten.
Standardmäßig aktualisiert der Client von Stripe Checkout automatisch die shipping_details des Checkout Session-Objekts mit den Versandinformationen, die die Kundin/der Kunde eingibt, einschließlich des Namens und der Adresse der Kundin/des Kunden.
Wenn permissions.update.shipping_details auf server_
festgelegt ist, wird die automatische Aktualisierung deaktiviert. Es kann dann nur Ihr Server die Versanddetails mit Ihrem Stripe-Geheimschlüssel aktualisieren.
Versandoptionen anpassenServerseitig
Erstellen Sie von Ihrem Server aus einen neuen Endpoint, um die Versandoptionen basierend auf der Versandadresse der Kundin/des Kunden zu berechnen.
- Rufen Sie die Checkout-Sitzung anhand der
checkoutSessionId
aus dem Anfragetext ab. - Überprüfen Sie die Versanddetails der Kundin/des Kunden aus dem Anfragetext.
- Berechnen Sie die Versandoptionen basierend auf der Versandadresse der Kundin/des Kunden und den Einzelposten der Checkout-Sitzung.
- Aktualisieren Sie die Checkout-Sitzung mit den shipping_details und den shipping_options der Kundin/des Kunden.
Checkout verbindenClientseitig
Vorsicht
Geben Sie immer ein Promise
aus Ihrer onShippingDetailsChange
zurück und lösen Sie es mit einem Objekt von ResultAction auf.
Checkout-Client aktualisiert die Nutzeroberfläche basierend auf dem Ergebnis Ihrer onShippingDetailsChange
-Funktion.
- Wenn das Ergebnis
type: "accept"
hat, werden auf der Checkout-Nutzeroberfläche die Versandoptionen angezeigt, die Sie auf Ihrem Server festgelegt haben. - Wenn das Ergebnis
type: "reject"
hat, zeigt die Checkout-Nutzeroberfläche die Fehlermeldung an, die Sie im Ergebnis festgelegt haben.
Checkout wird in einem iFrame gerendert, der Zahlungsdaten sicher über eine HTTPS-Verbindung an Stripe sendet.
Häufiger Fehler
Vermeiden Sie es, Checkout in einem anderen iFrame zu platzieren, da bei einigen Zahlungsmethoden die Weiterleitung an eine andere Seite zur Zahlungsbestätigung erforderlich ist.
Integration testen
Führen Sie die folgenden Schritte aus, um Ihre Integration zu testen und sicherzustellen, dass Ihre benutzerdefinierten Versandoptionen korrekt funktionieren.
Richten Sie eine Testumgebung ein, die die Einrichtung Ihrer Produktionsumgebung widerspiegelt. Verwenden Sie Ihre API-Schlüssel von Stripe aus dem Test-Modus für diese Umgebung.
Simulieren Sie verschiedene Versandadressen, um zu überprüfen, ob Ihre Funktion
calculateShippingOptions
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.
- Überprüft die Versanddetails.
- Berechnet die Versandoptionen.
- Aktualisiert die Checkout-Sitzung mit den neuen Versanddetails und -optionen. Vergewissern Sie sich, dass die Aktualisierungsantwort die neuen Versanddetails und -optionen enthält.
Überprüfen Sie die clientseitige Logik, indem Sie den Bezahlvorgang mehrmals in Ihrem Browser abschließen. Achten Sie darauf, wie die Nutzeroberfläche aktualisiert wird, nachdem Sie die Versanddetails eingegeben haben. Stellen Sie sicher, dass Folgendes zutrifft:
- Die Funktion
onShippingDetailsChange
wird erwartungsgemäß aufgerufen. - Versandoptionen werden anhand der angegebenen Adresse korrekt aktualisiert.
- Fehlermeldungen werden ordnungsgemäß angezeigt, wenn der Versand nicht verfügbar ist.
- Die Funktion
Geben Sie ungültige Versandadressen ein oder simulieren Sie Serverfehler, um den Umgang mit Fehlern sowohl serverseitig als auch clientseitig zu testen.