Weiter zum Inhalt
Konto erstellen oder anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellenAnmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
APIs und SDKsHilfe
Übersicht
Informationen zu Stripe Payments
Aktualisieren Sie Ihre Integration
Zahlungsanalysefunktionen
Online-Zahlungen
ÜbersichtIhren Use case findenVerwenden Sie Managed Payments
Payment Links verwenden
Vorgefertigte Checkout-Seite verwenden
Erstellen Sie eine benutzerdefinierte Integration mit Elements
    Übersicht
    QuickStart-Leitfäden
    Stripe Elements
    Vergleichen Sie Checkout-Sitzungen und PaymentIntents
    Erweiterte Integration entwerfen
    Erscheinungsbild anpassen
    Zahlungsmethoden verwalten
    Zusätzliche Informationen erfassen
    Abonnement-Integration erstellen
    Dynamische Aktualisierungen
      Versandoptionen
      Posten
      Dauer der Testphase
      Discounts
      Zahlungsbeträge
      Mengen der Posten
    Rabatte hinzufügen
    Steuern auf Ihre Zahlungen einziehen
    Gutschriften einlösen
    Lassen Sie Kundinnen/Kunden in ihrer Landeswährung zahlen
    Zahlungsmethoden von Kundinnen und Kunden speichern und abrufen
    Belege und bezahlte Rechnungen senden
    Zahlungen auf Ihrem Server manuell genehmigen
    Eine Zahlung separat autorisieren und einziehen
    Elements mit Checkout Sessions API-Änderungsprotokoll (Beta)
In-App-Integration erstellen
Präsenzzahlungen
Terminal
Zahlungsmethoden
Zahlungsmethoden hinzufügen
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsszenarien
Umgang mit mehreren Währungen
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Mehr als Zahlungen
Unternehmensgründung
Krypto
Agentenbasierter Handel
Financial Connections
Climate
Betrug verstehen
Betrugsprävention von Radar
Zahlungsanfechtungen verwalten
Identitäten verifizieren
Vereinigte Staaten
Deutsch
StartseiteZahlungenBuild a custom integration with ElementsDynamic updates

Anpassbare Mengen bei Einzelposten

Erfahren Sie, wie Sie Ihren Kund/innen ermöglichen, die Menge der Posten während des Bezahlvorgangs anzupassen.

Über die Posten einer Checkout-Sitzung wird nachverfolgt, was Ihr/ Kund/innen kaufen. Sie können die Checkout-Sitzung so konfigurieren, dass die Kund/innen die jeweiligen Mengen der Posten während des Bezahlvorgangs anpassen können.

Payment Intents API

Wenn Sie die Payment Intents API verwenden, müssen Sie Aktualisierungen von Posten manuell verfolgen und den Zahlungsbetrag ändern oder einen neuen PaymentIntent mit angepassten Beträgen erstellen.

Anpassbare Mengen aktivieren
Serverseitig

Hinweis

Andere Einzelposten-Updates, zum Beispiel das Hinzufügen neuer Einzelposten, werden für diese Integration nicht unterstützt.

Stellen Sie beim Erstellen einer Checkout-Sitzung adjustable_quantity für Ihre line_items ein, damit Ihre Kund/innen während des Bezahlvorgangs die jeweiligen Mengen der Posten ändern können.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -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 "line_items[0][adjustable_quantity][enabled]"=true \ -d "line_items[0][adjustable_quantity][maximum]"=100 \ -d "line_items[0][adjustable_quantity][minimum]"=0 \ -d mode=payment \ -d ui_mode=custom \ -d return_url={{RETURN_URL}}

Sie können die Standardeinstellungen für die zulässigen Mindest- und Höchstmengen anpassen, indem Sie adjustable_quantity.minimum und adjustable_quantity.maximum einstellen. Standardmäßig ist die Mindestmenge eines Artikels 0 und die Höchstmenge 99. Für adjustable_quantity.maximum können Sie einen Wert von bis zu 999999 angeben.

Wenn nur noch ein Artikel vorhanden ist, verhindert Checkout, dass der/die Kund/in einen Posten entfernen kann.

Mengen bei Einzelposten aktualisieren
Clientseitig

Verwenden Sie updateLineItemQuantity, um die Menge eines Postens als Reaktion auf die Kundeninteraktion zu ändern, etwa über eine Schaltfläche zum Erhöhen der Menge. Übergeben Sie die Posten-ID und die neue Menge:

index.html
<button class="increment-quantity-button" data-line-item="{{line item ID}}">+</button>
checkout.js
const checkout = stripe.initCheckout({clientSecret}); const button = document.querySelector('.increment-quantity-button'); const lineItem = button.getAttribute("data-line-item"); checkout.loadActions().then((loadActionsResult) => { if (loadActionsResult.type === 'success') { const {actions} = loadActionsResult; const session = loadActionsResult.getSession(); const quantity = session.lineItems.find((li) => li.id === lineItem).quantity; button.addEventListener('click', () => { actions.updateLineItemQuantity({ lineItem, quantity: quantity + 1, }) }); } else { const {error} = loadActionsResult; } });

Abgeschlossene Transaktionen verarbeiten
Serverseitig

Nach Abschluss der Zahlung können Sie die finalisierten Einzelposten und ihre Mengen beantragen. Wenn Ihr Kunde/Ihre Kundin einen Einzelposten entfernt, wird dieser auch aus der Einzelposten-Antwort entfernt. Im Leitfaden zur Bestellabwicklung erfahren Sie, wie Sie einen Ereignis-Handler erstellen können, um abgeschlossene Checkout-Sitzungen zu handhaben.

Hinweis

Um Ihren Ereignis-Handler zu testen, installieren Sie die Stripe-CLI und verwenden Sie stripe listen --forward-to localhost:4242/webhook, um Ereignisse an Ihren lokalen Server weiterzuleiten.

Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
"sk_test_BQokikJOvBiI2HlWgH4olfQ2"
require 'sinatra' # You can find your endpoint's secret in your webhook settings endpoint_secret = 'whsec_...' post '/webhook' do event = nil # Verify webhook signature and extract the event # See https://stripe.com/docs/webhooks#verify-events for more information. begin sig_header = request.env['HTTP_STRIPE_SIGNATURE'] payload = request.body.read event = Stripe::Webhook.construct_event(payload, sig_header, endpoint_secret) rescue JSON::ParserError => e # Invalid payload return status 400 rescue Stripe::SignatureVerificationError => e # Invalid signature return status 400 end if event['type'] == 'checkout.session.completed' checkout_session = event['data']['object'] line_items = Stripe::Checkout::Session.list_line_items(checkout_session['id'], {limit: 100}) # Fulfill the purchase... begin fulfill_order(checkout_session, line_items) rescue NotImplementedError => e return status 400 end end status 200 end def fulfill_order(checkout_session, line_items) # TODO: Remove error and implement... raise NotImplementedError.new(<<~MSG) Given the Checkout Session "#{checkout_session.id}" load your internal order from the database here. Then you can reconcile your order's quantities with the final line item quantity purchased. You can use `checkout_session.metadata` and `price.metadata` to store and later reference your internal order and item ids. MSG end
War diese Seite hilfreich?
JaNein
  • Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
  • Schauen Sie sich unser Änderungsprotokoll an.
  • Fragen? Sales-Team kontaktieren.
  • LLM? Lesen Sie llms.txt.
  • Unterstützt von Markdoc