Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
Übersicht
Informationen zu Stripe Payments
Aktualisieren Sie Ihre Integration
Zahlungsanalysefunktionen
Online-Zahlungen
ÜbersichtIhren Use case findenZahlungen verwalten
Payment Links verwenden
Bezahlseite erstellen
    Übersicht
    Quickstarts
    Erscheinungsbild anpassen
    Zusätzliche Informationen erfassen
    Steuern einziehen
    Bezahlvorgang dynamisch aktualisieren
    Ihren Produktkatalog verwalten
      Beschränktes Inventar verwalten
      Anpassbare Mengen bei Einzelposten
      Ihre Kundschaft entscheidet, wie viel Sie bezahlen möchte
    Abonnements
    Zahlungsmethoden verwalten
    Lassen Sie Kundinnen/Kunden in ihrer Landeswährung zahlen
    Rabatte, Upselling und optionale Artikel hinzufügen
    Zukünftige Zahlungen einrichten
    Zahlungsdaten bei der Zahlung speichern
    Zahlungen auf Ihrem Server manuell genehmigen
    Nach der Zahlung
    Elements mit Checkout Sessions API-Änderungsprotokoll (Beta)
    Vom bisherigen Bezahlvorgang migrieren
    Bezahlvorgang auf Prices umstellen
Erweiterte Integration erstellen
In-App-Integration erstellen
Zahlungsmethoden
Zahlungsmethoden hinzufügen
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsschnittstellen
Payment Links
Checkout
Web Elements
In-App-Elements
Zahlungsszenarien
Umgang mit mehreren Währungen
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
Mehr als Zahlungen
Unternehmensgründung
Krypto
Financial Connections
Climate
StartseiteZahlungenBuild a checkout pageManage your product catalog

Anpassbare Mengen bei Einzelposten

Ermöglichen Sie Ihren Kundinnen und Kunden, die Menge der Artikel während des Bezahlvorgangs anzupassen.

In den Posten für jede Checkout-Sitzung wird nachverfolgt, was Ihre Kundschaft kauft. Sie können die Checkout-Sitzung so konfigurieren, dass Kundinnen/Kunden während des Bezahlvorgangs die Menge ihrer Einzelposten anpassen können.

Anpassbare Mengen aktivieren
Serverseitig

Notiz

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

Legen Sie beim Erstellen einer Checkout-Sitzung adjustable_quantity für Ihre line_items fest, damit Ihre Kundinnen und Kunden während des Bezahlvorgangs die Menge eines Artikels ändern können.

Command Line
cURL
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 festlegen. 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 diesen Artikel entfernen kann.

Mengen bei Einzelposten aktualisieren
Clientseitig

Verwenden Sie updateLineItemQuantity, um die Menge eines Postens als Reaktion auf eine Kundeninteraktion zu ändern, z. B. ü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
stripe.initCheckout({fetchClientSecret}).then((checkout) => { const button = document.querySelector('.increment-quantity-button'); const lineItem = button.getAttribute("data-line-item"); const quantity = checkout.session().lineItems.find((li) => li.id === lineItem).quantity; button.addEventListener('click', () => { checkout.updateLineItemQuantity({ lineItem, quantity: quantity + 1, }) }) });

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.

Notiz

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
# 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.
Nehmen Sie an unserem Programm für frühzeitigen Zugriff teil.
Schauen Sie sich unser Änderungsprotokoll an.
Fragen? Sales-Team kontaktieren.
LLM? Lesen Sie llms.txt.
Unterstützt von Markdoc