Versandoptionen dynamisch anpassen
Erfahren Sie, wie Sie unterschiedliche Versandkosten für Ihre Kund/innen erstellen.
Erfahren Sie, wie Sie Versandoptionen dynamisch aktualisieren können, basierend auf der Adresse, die Ihre Kundin oder Ihr Kunde bei Verwendung der eingebetteten Version von Checkout eingibt. Dynamische Aktualisierungen sind bei der von Stripe gehosteten Version von Checkout nicht verfügbar.
Anwendungsszenarien
- Adresse validieren: Bestätigen Sie, ob Sie ein Produkt an die Adresse eines Kunden/einer Kundin senden können, indem Sie Ihre eigenen nutzerdefinierten Validierungsregeln verwenden. Sie können auch eine individuelle Nutzeroberfläche für Kundinnen/Kunden erstellen, um ihre bevorzugte Adresse zu bestätigen.
- Relevante Versandoptionen anzeigen: Nur verfügbare Versandmethoden basierend auf der Kundenadresse anzeigen. Zeigen Sie beispielsweise den Versand über Nacht nur für Lieferungen in Ihrem Land an.
- Versandraten dynamisch berechnen: Berechnen und Anzeigen der Versandkosten basierend auf der Lieferadresse eines Kunden/einer Kundin.
- Versandkosten basierend auf der Bestellsumme aktualisieren: Bieten Sie Versandkosten basierend auf der Versandadresse oder der Bestellsumme an, z. B. kostenlosen Versand für Bestellungen über 100 USD. Informationen zu Bezahlvorgängen, bei denen Mengenänderungen oder Cross-Selling zulässig sind, finden Sie unter Dynamische Aktualisierung von Posten.
Beschränkungen
- Wird nur im Zahlungsmodus unterstützt. Versandraten sind im Abonnementmodus nicht verfügbar.
Payment Intents API
Wenn Sie die Payment Intents API verwenden, müssen Sie die Versandoptionen manuell aktualisieren und den Zahlung basierend auf einer ausgewählten Versandoption ändern oder einen neuen PaymentIntent mit angepassten Beträgen erstellen.
Aktualisierungsberechtigungen für die Checkout-Sitzung konfigurierenServerseitig
Legen Sie die shipping_address_collection.allowed_countries auf die Liste der Länder fest, in die Sie den Versand anbieten möchten.
Wenn Sie die Checkout-Sitzung erstellen, übergeben Sie die Option permissions.update_shipping_details=server_only, um die clientseitige Methode updateShippingAddress zu deaktivieren und die Aktualisierung der Versandadresse und der Versandoptionen von Ihrem Server zu aktivieren.
Versandoptionen anpassenServerseitig
Erstellen Sie einen Endpoint auf Ihrem Server, um die auf der jeweiligen Versandadresse der Kund/innen basierenden Versandoptionen zu berechnen.
- Rufen Sie die Checkout-Sitzung mit der
checkoutSessionIdaus dem Anfragekörper ab. - Überprüfen Sie die Versanddetails der Kundin/des Kunden aus dem Anfragetext.
- Berechnen Sie die Versandoptionen basierend auf der jeweiligen Versandadresse der Kund/innen und den Posten in der Checkout-Sitzung.
- Aktualisieren Sie die Checkout-Sitzung mit den shipping_details der Kund/innen und den shipping_options.
Integration testen
Befolgen Sie diese Schritte, um Ihre Integration zu testen und sicherzustellen, dass Ihre nutzerdefinierten Versandoptionen 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 Versandadressen, um zu überprüfen, ob Ihre Funktion
calculateShippingOptionsverschiedene 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. Stellen Sie sicher, 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:
- Die Funktion
runServerUpdatewird erwartungsgemäß aufgerufen. - Die Versandoptionen werden basierend auf 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.