Mit den Versandkosten können Sie verschiedene Versandoptionen wie „Standard“, „Express“ und „Über Nacht“ mit genaueren Schätzungen für die Lieferung anzeigen. Berechnen Sie Ihrem Kunden/Ihrer Kundin den Versand mit verschiedenen Stripe-Produkten. Bevor Sie eine Versandgebühr erstellen, erfahren Sie, wie Sie Rechnungs- und Versandadressen erfassen.
Notiz
Versandkosten unterstützen nur feste Beträge für die gesamte Bestellung. Sie können die Versandkosten nicht basierend auf der Anzahl der Artikel in der Bestellung anpassen.
Notiz
Versandkosten unterstützen nur feste Beträge für die gesamte Bestellung. Sie können die Versandkosten nicht basierend auf der Anzahl der Artikel in der Bestellung anpassen.
So fügen Sie eine Versandrate über das Dashboard hinzu:
- Klicken Sie auf Versandrate erstellen.
- Geben Sie einen Betrag, eine Beschreibung und eine optionale geschätzte Lieferung ein.
- Klicken Sie auf Speichern und kopieren Sie die Versandraten-ID (
shr_123456
).

Einzelheiten zu Ihren Versandkosten eingeben
Um eine Checkout-Sitzung zu erstellen, die Ihren Versandtarif enthält, übergeben Sie die generierte Versandraten-ID an den Parameter shipping_options. Wenn Sie den Versandtarif gleichzeitig mit einer Checkout-Sitzung erstellen möchten, verwenden Sie den Parameter shipping_rate_data
mit shipping_options
. Nur Checkout-Sitzungen im Zahlungsmodus unterstützen Versandoptionen.
Im folgenden Codebeispiel werden der Checkout-Sitzung zwei Versandoptionen hinzugefügt:
- Kostenloser Versand mit einer geschätzten Lieferzeit von 5–7 Werktagen.
- Luftfracht über Nacht, Kosten von 15,00 USD mit geschätzter Lieferzeit von genau 1 Werktag.
curl https://api.stripe.com/v1/checkout/sessions \
-u "sk_test_BQokikJOvBiI2HlWgH4olfQ2
:" \
-d billing_address_collection=required \
-d "shipping_address_collection[allowed_countries][0]"=US \
-d "shipping_address_collection[allowed_countries][1]"=CA \
-d "shipping_options[0][shipping_rate_data][type]"=fixed_amount \
-d "shipping_options[0][shipping_rate_data][fixed_amount][amount]"=0 \
-d "shipping_options[0][shipping_rate_data][fixed_amount][currency]"=usd \
-d "shipping_options[0][shipping_rate_data][display_name]"="Free shipping" \
-d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][unit]"=business_day \
-d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][value]"=5 \
-d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][unit]"=business_day \
-d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][value]"=7 \
-d "shipping_options[1][shipping_rate_data][type]"=fixed_amount \
-d "shipping_options[1][shipping_rate_data][fixed_amount][amount]"=1500 \
-d "shipping_options[1][shipping_rate_data][fixed_amount][currency]"=usd \
-d "shipping_options[1][shipping_rate_data][display_name]"="Next day air" \
-d "shipping_options[1][shipping_rate_data][delivery_estimate][minimum][unit]"=business_day \
-d "shipping_options[1][shipping_rate_data][delivery_estimate][minimum][value]"=1 \
-d "shipping_options[1][shipping_rate_data][delivery_estimate][maximum][unit]"=business_day \
-d "shipping_options[1][shipping_rate_data][delivery_estimate][maximum][value]"=1 \
-d "line_items[0][price_data][currency]"=usd \
-d "line_items[0][price_data][product_data][name]"=T-shirt \
-d "line_items[0][price_data][unit_amount]"=2000 \
-d "line_items[0][quantity]"=1 \
-d mode=payment \
-d ui_mode=custom \
--data-urlencode return_url="https://example.com/return"
Verwenden Sie auf dem Client das shippingOptions-Objekt, um die verfügbaren Versandoptionen zu rendern, z. B. in einer Optionsfeldliste. Wenn Ihr Kunde/Ihre Kundin eine Versandoption auswählt, rufen Sie updateShippingOption mit der ID der Versandoption auf.
<div id="shipping-options"></div>
checkout.session().shippingOptions.forEach((option) => {
const form = document.createElement('form');
shippingOptions.forEach(option => {
const label = document.createElement('label');
const radio = document.createElement('input');
radio.type = 'radio';
radio.id = option.id;
radio.name = 'shippingOption';
radio.value = option.id;
radio.addEventListener('click', () => {
checkout.updateShippingOption(option.id)
})
const labelText = document.createTextNode(option.displayName);
label.appendChild(radio);
label.appendChild(labelText);
form.appendChild(label);
});
document.getElementById('shipping-options').appendChild(form);
});
const shippingAddressElement = checkout.createShippingAddressElement();
shippingAddressElement.mount('#shipping-address');