# Elements mit Checkout Sessions API-Änderungsprotokoll (Beta)
Verfolgen Sie Änderungen an der Beta-Integration der Elements with Checkout Sessions API.
> Dieses Dokument enthält Änderungsprotokolle im Zusammenhang mit Beta-Versionen von Elements mit der Checkout Sessions API.
>
> Dieses Änderungsprotokoll gilt nicht für Sie, wenn Sie [Clover](https://docs.stripe.com/changelog/clover.md) oder höher verwenden. Lesen Sie stattdessen das [Stripe-Änderungsprotokoll](https://docs.stripe.com/changelog.md).
## Umstellung auf Clover
### Clover-Änderungen
- (Breaking) Die Methode [stripe.initCheckout](https://docs.stripe.com/js/custom_checkout/init) ist nun synchron statt asynchron. Dies reduziert die Render-Latenz und ermöglicht es Elements, Skeleton Loader früher anzuzeigen. Weitere Informationen zur Migration finden Sie unter [Updates initCheckout to be synchronous](https://docs.stripe.com/changelog/clover/2025-09-30/update-init-checkout-synchronous.md).
- (Breaking) Gespeicherte Zahlungsmethoden werden nun automatisch im Zahlungselement aktiviert, wenn sie in der Checkout-Sitzung konfiguriert sind, ohne dass eine zusätzliche Konfiguration auf Kundenseite erforderlich ist. Weitere Informationen finden Sie unter [Aktualisiertes Standardverhalten für gespeicherte Zahlungsmethoden](https://docs.stripe.com/changelog/clover/2025-09-30/custom-checkout-saved-payment-method-defaults.md).
- (Breaking) Postleitzahlen werden bei Kartenzahlungen in Kanada, dem Vereinigten Königreich und Puerto Rico nicht mehr automatisch erfasst. Bitte beachten Sie den Abschnitt [Entfernen der Postleitzahl bei Kartenzahlungen](https://docs.stripe.com/changelog/clover/2025-09-30/postal_code_in_card_form_for_non_us_countries.md), falls Sie auf diese Daten angewiesen sind.
- (Breaking) Für React-Integrationen:
- Die Importpfade wurden von `@stripe/react-stripe-js` zu `@stripe/react-stripe-js/checkout` geändert.
- [useCheckout](https://docs.stripe.com/js/react_stripe_js/checkout/use_checkout) gibt nun eine disjunkte Vereinigung zurück, die den asynchronen Status (`{type: 'loading'}`, `{type: 'success', checkout: ...}` oder `{type: 'error', error: ...}`) beschreibt anstatt einen Fehler auszulösen.
- [CheckoutProvider](https://docs.stripe.com/js/react_stripe_js/checkout/checkout_provider) rendert nun untergeordnete Elemente bedingungslos, anstatt `null` zu rendern, wenn [initCheckout](https://docs.stripe.com/js/custom_checkout/init) nicht erfolgreich war
### Clover-Aktualisierung
Bevor Sie zu Clover migrieren, [aktualisieren Sie zunächst Ihre Integration](https://docs.stripe.com/checkout/elements-with-checkout-sessions-api/changelog.md#migrating-to-basil) auf Basil.
- Sollten Sie Stripe-NPM-Pakete verwenden, ist es erforderlich, `@stripe/stripe-js` auf mindestens`8.0.0` und `@stripe/react-stripe-js` auf mindestens `5.0.0` zu aktualisieren. .
- Wenn Sie Stripe.js über das Script-Tag laden, aktualisieren Sie das Tag, um auf `Clover` zu verweisen, indem Sie die [versionierte Stripe.js-Nomenklatur](https://docs.stripe.com/sdks/stripejs-versioning.md) wie folgt verwenden:
```html
Checkout
```
- Aktualisieren Sie die API-Version in Ihrer Backend-Integration auf mindestens `2025-09-30.clover`.
#### HTML + JS
Aktualisieren Sie Ihre Integration wie folgt:
1. Entfernen Sie alle mit `initCheckout` verknüpften Aufrufe von `wait` oder `.then()`.
1. Ersetzen Sie Ihre `fetchClientSecret`-Funktion durch eine Client-Geheimnis-Zeichenfolge oder ein Promise, das in eine Client-Geheimnis-Zeichenfolge aufgelöst wird.
1. Rufen Sie die neue asynchrone Funktion `checkout.loadActions()` auf, um auf Aktionen wie `getSession()` zuzugreifen, die `session()` ersetzt oder `confirm()`. Sie müssen `loadActions()` nur einmal aufrufen.
1. Wenn Sie zuvor `initCheckout` in einen `try...catch`-Block eingebunden haben, überprüfen Sie stattdessen den aufgelösten `type`-Wert von `loadActions()`, um Fehler zu erkennen.
```javascript
const clientSecret = fetch("/create-checkout-session", {
method: "POST",
headers: { "Content-Type": "application/json" },
})
.then((r) => r.json())
.then((r) => r.clientSecret);
const checkout = stripe.initCheckout({
clientSecret
});
const paymentElement = checkout.createPaymentElement();
paymentElement.mount("#payment-element");
const loadActionsResult = await checkout.loadActions();
if (loadActionsResult.type === 'success') {
const session = loadActionsResult.actions.getSession();
}
```
#### React
Aktualisieren Sie Ihre Abhängigkeit `@stripe/react-stripe-js` auf mindestens Version `5.0.0`. Wenn Sie von einer Version vor `4.0.0` aktualisieren, lesen Sie bitte die [Versionshinweise zu v4.0.0](https://github.com/stripe/react-stripe-js/releases/tag/v4.0.0), um zusätzliche Migrationsschritte zu erfahren.
#### Änderungen importieren
Aktualisieren Sie Ihre Importe, um den neuen Checkout-spezifischen Einstiegspunkt zu verwenden:
```jsx
import {useCheckout, PaymentElement} from '@stripe/react-stripe-js/checkout';
```
#### Änderungen an CheckoutProvider und useCheckout
Ersetzen Sie `fetchClientSecret` durch `clientSecret`. Sie können nun Elements rendern, ohne zuvor zu überprüfen, ob `useCheckout` `type: 'success'` zurückgegeben hat. Dies reduziert die Latenz und ermöglicht es Elements, Skeleton Loader früher anzuzeigen.
```jsx
const App = () => {
const promise = useMemo(() => {
return fetch('/create-checkout-session', {
method: 'POST',
headers: { "Content-Type": "application/json" },
})
.then((res) => res.json())
.then((data) => data.clientSecret);
}, []);
return (
);
}
const CheckoutPage = () => {
const {type, ...rest} = useCheckout();
return (
);
}
```
Weitere Informationen finden Sie im Changelog-Eintrag [Updates initCheckout synchronisieren](https://docs.stripe.com/changelog/clover/2025-09-30/update-init-checkout-synchronous.md).
## Umstellung auf Basil
### Basil-Änderungen
- (Breaking) Asynchrone Methoden, z. B. [„bestätigen“](https://docs.stripe.com/js/custom_checkout/confirm) oder [applyPromotionCode](https://docs.stripe.com/js/custom_checkout/apply_promotion_code), werden mit einem anderen Schema aufgelöst:
- Bei erfolgreicher Ausführung wird der aktualisierte Sitzungsstatus unter dem Schlüssel `session` aufgelistet. Zuvor befand sich dies unter dem Schlüssel `success`.
- (Breaking) Bei der Übergabe von [returnUrl](https://docs.stripe.com/js/custom_checkout/confirm#custom_checkout_session_confirm-options-returnUrl) auf [confirm](https://docs.stripe.com/js/custom_checkout/confirm) wird jetzt ein Fehler ausgegeben, wenn [return_url](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-return_url) bereits für die Checkout-Sitzung festgelegt wurde.
- (Breaking) Die Rückgabe-URL, auf die nach einer erfolgreichen Bestätigung umgeleitet wurde, enthielt zuvor inkonsistente Abfrageparameter. Zusätzliche Parameter wurden jetzt entfernt und die URL enthält nur das, was in [returnUrl](https://docs.stripe.com/js/custom_checkout/confirm#custom_checkout_session_confirm-options-returnUrl) on [confirm](https://docs.stripe.com/js/custom_checkout/confirm) oder [return_url](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-return_url) in der Checkout-Sitzung angegeben ist.
- (Breaking) Verbessert die Latenz der Checkout Session API für Sitzungen im Abonnementmodus und behebt einen Fehler, durch den Ihre Kundinnen/Kunden eine Sitzung nach dem ersten Zahlungsversuch nicht aktualisieren konnten
- Bei der Änderung wird das Abonnement erstellt, nachdem der/die Nutzer/in die Zahlung abgeschlossen hat, sodass `checkout_session.invoice` und `checkout_session.subscription` bis zum Abschluss der Checkout-Sitzung null sind.
- Wenn Sie derzeit das abgeschaffte Feld `payment_intent.invoice` verwenden, empfehlen wir die Verwendung des Webhooks `checkout_session.completed`, der sicherstellt, dass eine Rechnung vorhanden ist, und `checkout_session.invoice` oder die [Rechnungszahlungsliste](https://docs.stripe.com/api/invoice-payment/list.md), um die zugehörige Rechnung zu finden.
- Um mehr zu erfahren, lesen Sie den [2025-03-31.basil API changelog](https://docs.stripe.com/changelog/basil/2025-03-31/checkout-legacy-subscription-upgrade.md).
- [percentOff](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-discountAmounts-percentOff) zu [discountAmounts](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-discountAmounts) als Option hinzugefügt, um Rabatte anzuzeigen.
### Basil-Aktualisierung
Vor der Migration zu Basil müssen Sie zuerst [Ihre Integration](https://docs.stripe.com/checkout/elements-with-checkout-sessions-api/changelog.md#beta-changelog) auf `custom_checkout_beta_6` aktualisieren.
- Wenn Sie ein Stripe NPM-Paket verwenden, müssen Sie zuerst `@stripe/stripe-js` auf mindestens `7.0.0` und `@stripe/react-stripe-js` auf mindestens `3.6.0` aktualisieren.
- Wenn Sie Stripe.js über das Skript-Tag laden und noch `v3` oder `acacia` verwenden, aktualisieren Sie das Tag, um auf `basil` zu verweisen, indem Sie die [versionierte Stripe.js-Nomenklatur](https://docs.stripe.com/sdks/stripejs-versioning.md) wie folgt verwenden:
```html
Checkout
```
- Entfernen Sie den Beta-Header von Stripe.js beim Initialisieren von Stripe.js.
#### HTML + JS
```js
const stripe = Stripe(
'<>', {
}
);
```
#### React
```javascript
import {loadStripe} from '@stripe/stripe-js';
const stripe = loadStripe("<>", {
});
```
- Entfernen Sie den Beta-Header der API-Version und geben Sie als API-Version mindestens `2025-03-31.basil` für Ihre Backend-Integration an.
### Before
#### TypeScript
```javascript
// Set your secret key. Remember to switch to your live secret key in production.
// See your keys here: https://dashboard.stripe.com/apikeys
import Stripe from 'stripe';
// Don't put any keys in code. See https://docs.stripe.com/keys-best-practices.
const stripe = new Stripe('<>', {
apiVersion: '2026-04-22.dahlia; custom_checkout_beta=v1' as any,
});
```
### After
#### TypeScript
```javascript
// Set your secret key. Remember to switch to your live secret key in production.
// See your keys here: https://dashboard.stripe.com/apikeys
import Stripe from 'stripe';
// Don't put any keys in code. See https://docs.stripe.com/keys-best-practices.
const stripe = new Stripe('<>', {
apiVersion: '2025-03-31.basil' as any,
});
```
## Beta-Änderungsprotokoll
Die Beta der Elements with Checkout Sessions API verwendet zwei Arten von Beta-Versionen:
- Ein Stripe.js-Beta-Header (z. B. `custom_checkout_beta_6`), der in Ihrer Frontend-Integration festgelegt ist.
- Eine API-Version des Beta-Headers (z. B. `Custom_Checkout_beta=v1`), die in Ihrer Backend-Integration festgelegt ist.
### Beta-Versionen des Frontends
Geben Sie bei der [Initialisierung von Stripe.js](https://docs.stripe.com/payments/quickstart-checkout-sessions.md) die Frontend-Beta-Version an.
#### custom_checkout_beta_6
Wenn Sie ein Stripe NPM-Paket verwenden, müssen Sie zuerst `@stripe/stripe-js` auf mindestens `6.1.0` und `@stripe/react-stripe-js` auf mindestens `3.5.0` aktualisieren.
- (Breaking) Das Vorzeichen von [total.appliedBalance](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-total-appliedBalance) wurde umgekehrt. Eine positive Zahl erhöht nun den zu zahlenden Betrag und eine negative Zahl verringert den zu zahlenden Betrag.
- (Breaking) `clientSecret` wurde durch [fetchClientSecret](https://docs.stripe.com/js/custom_checkout/init#custom_checkout_init-options-clientSecret) ersetzt. Aktualisieren Sie Ihre Integration, um anstelle eines statischen Werts eine asynchrone Funktion zu übergeben, die in das Client-Geheimnis aufgelöst wird.
- (Breaking) Elements-Methoden wurden umbenannt.
- Wenn Sie React Stripe.js verwenden, müssen Sie nichts weiter tun, als `@stripe/react-stripe-js` zu aktualisieren.
- Wenn Sie HTML/JS verwenden:
- Verwenden Sie `createPaymentElement()` statt `createElement('payment')`.
- Verwenden Sie `createBillingAddressElement()` statt `createElement('address', {mode: 'billing'})`.
- Verwenden Sie `createShippingAddressElement()` statt `createElement('address', {mode: 'shipping'})`.
- Verwenden Sie `createExpressCheckoutElement()` statt `createElement('expressCheckout')`.
- Verwenden Sie `getPaymentElement()` statt `getElement('payment')`.
- Verwenden Sie `getBillingAddressElement()` statt `getElement('address', {mode: 'billing'})`.
- Verwenden Sie `getShippingAddressElement()` statt `getElement('address', {mode: 'shipping'})`.
- Verwenden Sie `getExpressCheckoutElement()` statt `getElement('expressCheckout')`.
- (Breaking) Die Felder für die Bestätigung wurden aktualisiert, um den Sitzungsstatus genauer wiederzugeben.
- [canConfirm](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-canConfirm) reagiert jetzt auf jedes verbundene Billing Address Element oder Shipping Address Element.
- [canConfirm](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-canConfirm) wird jetzt `false`, wenn eine Bestätigung während der Übertragung vorliegt.
- `confirmationRequirements` wurde entfernt.
- (Breaking) [updateEmail](https://docs.stripe.com/js/custom_checkout/update_email) gibt jetzt einen Fehler aus, wenn [customer_email](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-customer_email) beim Erstellen der Checkout-Sitzung angegeben wurde. Wenn Sie beabsichtigen, eine E-Mail-Adresse, die Ihre Kundinnen/Kunden aktualisieren können, vorab anzugeben, rufen Sie `updateEmail` auf, sobald die Seite geladen ist, statt `customer_email` zu übergeben.
- (Breaking) [returnUrl](https://docs.stripe.com/js/custom_checkout/confirm#custom_checkout_session_confirm-options-returnUrl) muss eine absolute URL sein (beginnt beispielsweise mit `https://` und nicht mit einer relativen URL, wie `/success`).
- (Breaking) Preisfelder wurden zur Vereinfachung des Renderings in ein verschachteltes Objekt geändert.
- Numerische Werte wurden durch ein Objekt ersetzt, das `amount` (eine formatierte Währungszeichenfolge, z. B. `$10.00`) und `minorUnitsAmount`, eine Ganzzahl, die den Wert in der kleinsten Währungseinheit darstellt, enthält. Wenn Sie den Betrag bereits lesen, lesen Sie stattdessen `minorUnitsAmount`.
- Ersetzen Sie beispielsweise `total.total` durch [`total.total.minorUnitsAmount`](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-total-total-minorUnitsAmount).
- Sie müssen entweder `total.total.amount` oder `total.total.minorUnitsAmount` und `currency` und `minorUnitsAmountDivisor` aus dem `checkout`-Objekt lesen und in Ihrer Nutzeroberfläche anzeigen. Andernfalls wird ein Fehler ausgegeben. Dies hilft Ihnen, Ihre Bezahlseite mit Aktualisierungen der CheckoutSession zu synchronisieren, einschließlich des Hinzufügens zukünftiger Stripe-Funktionen mit minimalen Änderungen am Nutzeroberflächencode.
- Steueridentifikationsnummern von Kundinnen und Kunden können jetzt erfasst werden. Erfahren Sie, wie Sie [Steueridentifikationsnummern erfassen](https://docs.stripe.com/tax/checkout/tax-ids.md).
- Unten auf Ihrer Bezahlseite ist jetzt ein Assistent nur für den Test-Modus verfügbar, der Anleitungen für Ihre Integration und Tastenkombinationen für gängige Testszenarien bietet.
#### custom_checkout_beta_5
- (Breaking) Die Funktion `initCustomCheckout` wurde in [initCheckout](https://docs.stripe.com/js/custom_checkout/init) umbenannt
- In React Stripe.js wurde `CustomCheckoutProvider` in `CheckoutProvider` und `useCustomCheckout` in `useCheckout` umbenannt.
- (Breaking) Um das Express Checkout Element zu bestätigen, rufen Sie [confirm](https://docs.stripe.com/js/custom_checkout/confirm) auf und übergeben Sie das [Bestätigungsereignis](https://docs.stripe.com/js/elements_object/express_checkout_element_confirm_event) als `expressCheckoutConfirmEvent`.
- Zuvor wurde das Express Checkout Element durch Aufrufen von `event.confirm()` bestätigt.
- (Breaking) Wenn [„bestätigen“](https://docs.stripe.com/js/custom_checkout/confirm) aufgerufen wird, validieren das Payment Element und das Address Element die Formulareingaben und geben etwaige Fehler aus.
- (Breaking) Fehlermeldungen wurden vereinheitlicht und verbessert.
- Fehler, die von einer Funktion zurückgegeben/behoben werden, stellen bekannte Szenarien dar, wie z. B. ungültige Zahlungsdetails oder unzureichende Deckung. Dies sind vorhersehbare Probleme, die Sie Ihren Kundinnen/Kunden mitteilen können, indem Sie die `message` auf der Bezahlseite anzeigen.
- Fehler, die von einer Funktion ausgegeben/abgelehnt werden, stellen Fehler in der Integration selbst dar. Es kann sich dabei um ungültige Parameter oder eine ungültige Konfiguration handeln. Diese Fehler sollen Ihrer Kundschaft nicht angezeigt werden.
- (Breaking) Asynchrone Methoden, z. B. [„bestätigen“](https://docs.stripe.com/js/custom_checkout/confirm) oder [applyPromotionCode](https://docs.stripe.com/js/custom_checkout/apply_promotion_code), werden mit einem anderen Schema aufgelöst:
- Das Diskriminatorfeld `type="success"|"error"` wurde hinzugefügt.
- Bei erfolgreicher Ausführung wird der aktualisierte Sitzungsstatus unter dem Schlüssel `success` aufgelistet. Zuvor befand sich dies unter dem Schlüssel `session`.
- Andernfalls wird der Fehler weiterhin unter dem Schlüssel `error` ausgefüllt.
- Die Optionen `email`, `phoneNumber`, `billingAddress` und `shippingAddress` wurden zu [„bestätigen“](https://docs.stripe.com/js/custom_checkout/confirm) hinzugefügt.
- (Breaking) Das Address Element aktualisiert die Felder [billingAddress](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-billingAddress) oder [shippingAddress](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-shippingAddress) in der Sitzung nicht mehr automatisch.
- Solange das Address Element verbunden ist, werden beim Aufruf von [„bestätigen“](https://docs.stripe.com/js/custom_checkout/confirm) automatisch Formularwerte verwendet.
- Überwachen Sie das [Änderungsereignis](https://docs.stripe.com/js/element/events/on_change?type=addressElement), um den Wert des Address Elements vor der Bestätigung zu verwenden.
#### custom_checkout_beta_4
- [Bilder](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-lineItems-images) zum [Sitzungs-Objekt](https://docs.stripe.com/js/custom_checkout/session_object) hinzugefügt.
- [Felder](https://docs.stripe.com/js/custom_checkout/create_payment_element#custom_checkout_create_payment_element-options-fields) wurde als Option beim Erstellen des Payment Element hinzugefügt.
- [paymentMethods](https://docs.stripe.com/js/custom_checkout/create_express_checkout_element#custom_checkout_create_express_checkout_element-options-paymentMethods) wurde als Option beim Erstellen des Express Checkout Element hinzugefügt.
- (Breaking) Das Übergeben ungültiger Optionen an [createElement](https://docs.stripe.com/js/custom_checkout/create_payment_element) löst jetzt einen Fehler aus. Zuvor wurden nicht erkannte Optionen stillschweigend ignoriert.
- (Breaking) [updateE-Mail](https://docs.stripe.com/js/custom_checkout/update_email) und [updatePhoneNumber](https://docs.stripe.com/js/custom_checkout/update_phone_number) wenden Änderungen asynchron an. Das Aufrufen dieser Methoden, bevor der Kunde/die Kundin die Eingabe vollständiger Werte abgeschlossen hat, kann zu beeinträchtigter Leistung führen.
- Anstatt `updateEmail` oder `updatePhoneNumber` bei jedem Änderungsereignis der Eingabe aufzurufen, warten Sie, bis Ihr Kunde/Ihre Kundin die Eingabe abgeschlossen hat, zum Beispiel bei einer unscharfen Eingabe oder wenn er/sie das Formular zur Zahlung einreicht.
- `updateEmail` überprüft jetzt, ob es sich bei der Eingabe um eine ordnungsgemäß gebildete E-Mail-Adresse handelt, und gibt einen Fehler zurück, wenn eine ungültige Eingabe verwendet wird.
- `updatePhoneNumber` führt immer noch keine Validierung der Eingabezeichenfolge durch.
#### custom_checkout_beta_3
- Die folgenden Felder wurden zum [Sitzungsobjekt](https://docs.stripe.com/js/custom_checkout/session_object) hinzugefügt:
- [id](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-id)
- [livemode](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-livemode)
- [businessName](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-businessName)
- Gespeicherte Karten können nun wiederverwendet werden. Erfahren Sie, wie Sie Zahlungsmethoden [speichern und wiederverwenden](https://docs.stripe.com/payments/checkout/save-during-payment.md).
- (Breaking) Das [Standardlayout](https://docs.stripe.com/js/elements_object/create_payment_element#payment_element_create-options-layout) des Payment Element wurde in `accordion` geändert.
- Um das vorherige Standardlayout weiterhin zu verwenden, müssen Sie explizit `layout='tabs'` angeben.
- (Breaking) Das Standardverhalten von [confirm](https://docs.stripe.com/js/custom_checkout/confirm) wurde so geändert, dass es nach einer erfolgreichen Bestätigung immer an Ihre `return_url` weitergeleitet wird.
- Bisher wurde `confirm` nur dann weitergeleitet, wenn der Kunde/die Kundin eine auf Weiterleitung basierende Zahlungsmethode gewählt hat. Um das bisherige Verhalten beizubehalten, müssen Sie [redirect=‘if_required’](https://docs.stripe.com/js/custom_checkout/confirm#custom_checkout_session_confirm-options-redirect) an `confirm` übergeben.
#### custom_checkout_beta_2
- (Breaking) Das Feld `lineItem.recurring.interval_count` wurde entfernt und durch [lineItem.recurring.intervalCount](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-lineItems-recurring-intervalCount) ersetzt.
- (Breaking) Das Feld `lineItem.amount` wurde entfernt und durch Folgendes ersetzt:
- [lineItem.amountSubtotal](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-lineItems-amountSubtotal)
- [lineItem.amountDiscount](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-lineItems-amountDiscount)
- [lineItem.amountTaxInclusive](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-lineItems-amountTaxInclusive)
- [lineItem.amountTaxExclusive](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-lineItems-amountTaxExclusive)
#### custom_checkout_beta_1
*Dies ist die erste Frontend-Betaversion.*
### Backend-Versionen
Geben Sie beim [Einrichten Ihrer Server-Bibliothek](https://docs.stripe.com/payments/quickstart-checkout-sessions.md#init-stripe) die Backend-Beta-Version an.
*Es werden keine Änderungen an der Betaversion vorgenommen.*