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
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
    Übersicht
    Zahlungen für bestehende Kundinnen/Kunden
    Eine Zahlung separat autorisieren und einziehen
    Zweistufigen Bezahlvorgang erstellen
    Zahlungsdetails erfassen, bevor Sie einen Intent erstellen
    Zahlungen auf dem Server abschließen
    Bestellungen per Post und Telefon entgegennehmen (MOTO)
    Karten in den USA und Kanada
    Kartenangaben an API-Endpoints von Drittanbietern weiterleiten
    Zahlungsposten
      Flexible Zahlungsszenarien
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
Mehr als Zahlungen
Unternehmensgründung
Krypto
Financial Connections
Climate
Betrug verstehen
Betrugsprävention von Radar
Zahlungsanfechtungen verwalten
Identitäten verifizieren
StartseiteZahlungenCustom payment flowsPayments line items

Verwenden Sie Zahlungsposten in flexiblen Zahlungsszenarien.Öffentliche Vorschau

Verwenden Sie Zahlungsposten für komplexe Zahlungen wie Mehrfacherfassungen.

Sie können Zahlungsposten während komplexer Zahlungen wie Mehrfacherfassungen und Übererfassungen verwenden.

Multicapture

Sie können Zahlungsposten bei Mehrfacherfassungen verwenden.

Notiz

Mehrfacherfassung wird für Klarna oder PayPal nicht unterstützt.

Einen nicht erfassten PaymentIntent erstellen und bestätigen

Notiz

The API response doesn’t include line items by default. To return line items, expand amount_details.line_items.

Geben Sie bei der Erstellung des PaymentIntent die capture_method als manuell an und verwenden Sie den Parameter if_available, um Mehrfacherfassung für diese Zahlung anzufordern. Der erstellte PaymentIntent ermöglicht mehrere Erfassungen, sofern die Zahlungsmethode dies unterstützt.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=4600 \ -d currency=usd \ -d "payment_method_types[0]"=card \ -d payment_method=pm_card_visa \ -d "payment_method_options[card][request_multicapture]"=if_available \ -d "payment_details[customer_reference]"=customer_reference \ -d "payment_details[order_reference]"=order_reference \ -d "amount_details[discount_amount]"=200 \ -d "amount_details[tax][total_tax_amount]"=400 \ -d "amount_details[shipping][from_postal_code]"=94110 \ -d "amount_details[shipping][to_postal_code]"=94117 \ -d "amount_details[shipping][amount]"=400 \ -d "amount_details[line_items][0][product_code]"=SKU001 \ -d "amount_details[line_items][0][product_name]"="Product 001" \ -d "amount_details[line_items][0][unit_cost]"=2000 \ -d "amount_details[line_items][0][quantity]"=1 \ -d "amount_details[line_items][0][unit_of_measure]"=feet \ -d "amount_details[line_items][0][payment_method_options][card][commodity_code]"=123123 \ -d "amount_details[line_items][1][product_code]"=SKU002 \ -d "amount_details[line_items][1][product_name]"="Product 002" \ -d "amount_details[line_items][1][unit_cost]"=2000 \ -d "amount_details[line_items][1][quantity]"=1 \ -d "amount_details[line_items][1][unit_of_measure]"=gallons \ -d "amount_details[line_items][1][payment_method_options][card][commodity_code]"=123123 \ -d confirm=true \ -d capture_method=manual \ -d "expand[0]"="amount_details.line_items"

In der Antwort enthält das Feld amount_details die in PaymentIntent angegebenen Einzelposten.

{ "amount": 4600, "amount_capturable": 4600, "amount_received": 0, "payment_details": { "customer_reference": "customer_reference", "order_reference": "order_reference" }, "amount_details": { "discount_amount": 200, "tax": { "total_tax_amount": 400 }, "shipping": { "from_postal_code": "94110", "to_postal_code": "94117", "amount": 400 }, "line_items": [ { "product_code": "SKU001", "product_name": "Product 001", "unit_cost": 2000, "quantity": 1, "unit_of_measure": "feet", "payment_method_options": { "card": { "commodity_code": "123123" } } }, { "product_code": "SKU002", "product_name": "Product 002", "unit_cost": 2000, "quantity": 1, "unit_of_measure": "gallons", "payment_method_options": { "card": { "commodity_code": "123123" } } } ] } ... }

PaymentIntent erfassen

  • Sie können amount_details beim ersten Erfassen hinzufügen, auch wenn sie bei der Erstellung nicht angegeben wurden.
  • Wenn Sie bei der Erstellung amount_details angegeben haben, müssen Sie entweder amount_details übergeben oder sie bei der ersten Erfassung deaktivieren.

Dieselben Regeln gelten für amount_details [line_items] — Sie können sie beim ersten Erfassen hinzufügen, wenn Sie sie nicht bei der Erstellung angegeben haben, müssen sie jedoch einbeziehen oder explizit entfernen, falls sie bei der Erstellung vorhanden waren.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents/pi_xxxxxxxx/capture \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount_to_capture=2300 \ -d "payment_details[customer_reference]"=customer_reference \ -d "payment_details[order_reference]"=order_reference \ -d "amount_details[discount_amount]"=100 \ -d "amount_details[tax][total_tax_amount]"=200 \ -d "amount_details[shipping][from_postal_code]"=94110 \ -d "amount_details[shipping][to_postal_code]"=94117 \ -d "amount_details[shipping][amount]"=200 \ -d "amount_details[line_items][0][product_code]"=SKU001 \ -d "amount_details[line_items][0][product_name]"="Product 001" \ -d "amount_details[line_items][0][unit_cost]"=2000 \ -d "amount_details[line_items][0][quantity]"=1 \ -d "amount_details[line_items][0][unit_of_measure]"=feet \ -d "amount_details[line_items][0][payment_method_options][card][commodity_code]"=123123 \ -d final_capture=false \ -d "expand[0]"="amount_details.line_items"

In der Antwort enthält das Feld amount_details die bei der ersten Erfassung angegebenen Einzelposten.

{ "amount": 4600, "amount_capturable": 2300, "amount_received": 2300, "payment_details": { "customer_reference": "customer_reference", "order_reference": "order_reference" }, "amount_details": { "discount_amount": 100, "tax": { "total_tax_amount": 200 }, "shipping": { "from_postal_code": "94110", "to_postal_code": "94117", "amount": 200 }, "line_items": [ { "product_code": "SKU001", "product_name": "Product 001", "unit_cost": 2000, "quantity": 1, "unit_of_measure": "feet", "payment_method_options": { "card": { "commodity_code": "123123" } } } ] }, "status": "requires_capture" ... }

Der PaymentIntent verbleibt im Status requires_capture. An dieser Stelle können Sie entweder:

  • Erfassen Sie den PaymentIntent weiterhin mehrfach bis zum vollen Betrag des PaymentIntent.
  • Versetzen Sie PaymentIntent in den Status succeeded, indem Sie final_capture auf true setzen oder eine Erfassung ohne den final_capture-Parameter durchführen (weil final_capture standardmäßig auf true gesetzt ist).
  • Wenn frühere Erfassungen amount_details oder amount_details[line_items] enthielten, müssen Sie sie weiterhin in nachfolgende Erfassungen einbeziehen.
  • Wenn frühere Erfassungen diese Felder nicht enthielten, können Sie sie in späteren Erfassungen nicht hinzufügen.
Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents/pi_xxxxxxxx/capture \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount_to_capture=2300 \ -d "payment_details[customer_reference]"=customer_reference \ -d "payment_details[order_reference]"=order_reference \ -d "amount_details[discount_amount]"=100 \ -d "amount_details[tax][total_tax_amount]"=200 \ -d "amount_details[shipping][from_postal_code]"=94110 \ -d "amount_details[shipping][to_postal_code]"=94117 \ -d "amount_details[shipping][amount]"=200 \ -d "amount_details[line_items][0][product_code]"=SKU002 \ -d "amount_details[line_items][0][product_name]"="Product 002" \ -d "amount_details[line_items][0][unit_cost]"=2000 \ -d "amount_details[line_items][0][quantity]"=1 \ -d "amount_details[line_items][0][unit_of_measure]"=gallons \ -d "amount_details[line_items][0][payment_method_options][card][commodity_code]"=123123 \ -d final_capture=false \ -d "expand[0]"="amount_details.line_items"

In der Antwort enthält das Feld amount_details die Einzelposten der ersten beiden Erfassungen gemäß den folgenden Regeln:

  • discount_amount, tax.total_tax_amount und shipping.amount werden über alle Erfassungen hinweg summiert.
  • shipping.from_postal_code und shipping.to_postal_code könnten in den Erfassungen weggelassen werden, aber wenn sie bereitgestellt werden, dürfen Sie sie nicht zwischen den Erfassungen ändern.
  • line_items wird über alle Erfassungen hinweg aggregiert.
{ "amount": 4600, "amount_capturable": 0, "amount_received": 4600, "payment_details": { "customer_reference": "customer_reference", "order_reference": "order_reference" }, "amount_details": { "discount_amount": 200, "tax": { "total_tax_amount": 400 }, "shipping": { "from_postal_code": "94110", "to_postal_code": "94117", "amount": 400 }, "line_items": [ { "product_code": "SKU001", "product_name": "Product 001", "unit_cost": 2000, "quantity": 1, "unit_of_measure": "feet", "payment_method_options": { "card": { "commodity_code": "123123" } } }, { "product_code": "SKU002", "product_name": "Product 002", "unit_cost": 2000, "quantity": 1, "unit_of_measure": "gallons", "payment_method_options": { "card": { "commodity_code": "123123" } } } ] }, "status": "succeeded" ... }

Übererfassung

Sie können Zahlungsposten während Übererfassungen verwenden.

Einen nicht erfassten PaymentIntent erstellen und bestätigen

Notiz

The API response doesn’t include line items by default. To return line items, expand amount_details.line_items.

Geben Sie bei der Erstellung des PaymentIntent die capture_method als manuell an und verwenden Sie den Parameter if_available, um die Übererfassung für diese Zahlung anzufragen. Der erstellte PaymentIntent erlaubt die Übererfassung, wenn die Zahlungsmethode dies unterstützt.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=4600 \ -d currency=usd \ -d "payment_method_types[0]"=card \ -d payment_method=pm_card_visa \ -d "payment_method_options[card][request_overcapture]"=if_available \ -d "payment_details[customer_reference]"=customer_reference \ -d "payment_details[order_reference]"=order_reference \ -d "amount_details[discount_amount]"=200 \ -d "amount_details[tax][total_tax_amount]"=400 \ -d "amount_details[shipping][from_postal_code]"=94110 \ -d "amount_details[shipping][to_postal_code]"=94117 \ -d "amount_details[shipping][amount]"=400 \ -d "amount_details[line_items][0][product_code]"=SKU001 \ -d "amount_details[line_items][0][product_name]"="Product 001" \ -d "amount_details[line_items][0][unit_cost]"=2000 \ -d "amount_details[line_items][0][quantity]"=1 \ -d "amount_details[line_items][0][unit_of_measure]"=feet \ -d "amount_details[line_items][0][payment_method_options][card][commodity_code]"=123123 \ -d "amount_details[line_items][1][product_code]"=SKU002 \ -d "amount_details[line_items][1][product_name]"="Product 002" \ -d "amount_details[line_items][1][unit_cost]"=2000 \ -d "amount_details[line_items][1][quantity]"=1 \ -d "amount_details[line_items][1][unit_of_measure]"=gallons \ -d "amount_details[line_items][1][payment_method_options][card][commodity_code]"=123123 \ -d confirm=true \ -d capture_method=manual \ -d "expand[0]"="amount_details.line_items"

In der Antwort enthält das Feld amount_details die in PaymentIntent angegebenen Einzelposten.

{ "amount": 4600, "amount_capturable": 4600, "amount_received": 0, "payment_details": { "customer_reference": "customer_reference", "order_reference": "order_reference" }, "amount_details": { "discount_amount": 200, "tax": { "total_tax_amount": 400 }, "shipping": { "from_postal_code": "94110", "to_postal_code": "94117", "amount": 400 }, "line_items": [ { "product_code": "SKU001", "product_name": "Product 001", "unit_cost": 2000, "quantity": 1, "unit_of_measure": "feet", "payment_method_options": { "card": { "commodity_code": "123123" } } }, { "product_code": "SKU002", "product_name": "Product 002", "unit_cost": 2000, "quantity": 1, "unit_of_measure": "gallons", "payment_method_options": { "card": { "commodity_code": "123123" } } } ] } ... }

PaymentIntent erfassen

Um mehr als den aktuell autorisierten Betrag für einen PaymentIntent zu erfassen, verwenden Sie Endpunkt erfassen und geben einen amount_to_capture bis zum maximum_amount_capturable an.

Übergeben Sie bei der Erfassung einen aktualisierten amount_details Hash, der mit dem erfassten Betrag übereinstimmt.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents/pi_xxxxxxxx/capture \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount_to_capture=5000 \ -d "payment_details[customer_reference]"=customer_reference \ -d "payment_details[order_reference]"=order_reference \ -d "amount_details[discount_amount]"=200 \ -d "amount_details[tax][total_tax_amount]"=600 \ -d "amount_details[shipping][from_postal_code]"=94110 \ -d "amount_details[shipping][to_postal_code]"=94117 \ -d "amount_details[shipping][amount]"=600 \ -d "amount_details[line_items][0][product_code]"=SKU001 \ -d "amount_details[line_items][0][product_name]"="Product 001" \ -d "amount_details[line_items][0][unit_cost]"=2000 \ -d "amount_details[line_items][0][quantity]"=1 \ -d "amount_details[line_items][0][unit_of_measure]"=feet \ -d "amount_details[line_items][0][payment_method_options][card][commodity_code]"=123123 \ -d "amount_details[line_items][1][product_code]"=SKU002 \ -d "amount_details[line_items][1][product_name]"="Product 002" \ -d "amount_details[line_items][1][unit_cost]"=2000 \ -d "amount_details[line_items][1][quantity]"=1 \ -d "amount_details[line_items][1][unit_of_measure]"=gallons \ -d "amount_details[line_items][1][payment_method_options][card][commodity_code]"=123123 \ -d "expand[0]"="amount_details.line_items"

In der Antwort enthält das Feld amount_details die Posten, die beim Erfassen angegeben wurden.

{ "amount": 5000, "amount_capturable": 0, "amount_received": 5000, "payment_details": { "customer_reference": "customer_reference", "order_reference": "order_reference" }, "amount_details": { "discount_amount": 200, "tax": { "total_tax_amount": 600 }, "shipping": { "from_postal_code": "94110", "to_postal_code": "94117", "amount": 600 }, "line_items": [ { "product_code": "SKU001", "product_name": "Product 001", "unit_cost": 2000, "quantity": 1, "unit_of_measure": "feet", "payment_method_options": { "card": { "commodity_code": "123123" } } }, { "product_code": "SKU002", "product_name": "Product 002", "unit_cost": 2000, "quantity": 1, "unit_of_measure": "gallons", "payment_method_options": { "card": { "commodity_code": "123123" } } } ] }, "status": "succeeded" ... }
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