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
Entwickler-Tools
Ü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
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
    Übersicht
    Eine Zahlung mehrmals erfassen
    Mehr als den autorisierten Betrag für eine Zahlung erfassen
    Erweiterte Rückstellung für eine Online-Kartenzahlung einrichten
    Autorisierung erhöhen
    Zahlung teilweise autorisieren
    Von Beta migrieren
Orchestrierung
Präsenzzahlungen
Terminal
Andere Stripe-Produkte
Financial Connections
Krypto
Climate
StartseiteZahlungenFlexible acquiring

Eine Zahlung mehrmals erfassen

Erfassen Sie einen PaymentIntent mehrmals bis zum autorisierten Betrag.

Seite kopieren

Mit Multicapture können Sie einen PaymentIntent mehrmals für eine einzelne Autorisierung erfassen, bis zum vollständigen Betrag des PaymentIntent. Sie können ihn verwenden, wenn Sie Bestellungen mit mehreren Lieferungen haben und Gelder erfassen möchten, während Sie Teile der Bestellung abwickeln.

IC+-Funktion

Multicapture ist Teil der Funktionalität, von dem unsere Nutzer/innen beim Preismodell IC+ profitieren. Wenn Sie ein gemischtes Stripe-Preismodell anbieten und auf diese Funktion zugreifen möchten, wenden Sie sich an den Stripe Support.

Verfügbarkeit

Beachten Sie bei der Verwendung von Multicapture folgende Einschränkungen:

  • Es werden nur Online-Kartenzahlungen unterstützt
  • Verfügbar mit Amex, Visa, Discover, Mastercard, Cartes Bancaires, Diners Club, China UnionPay (CUP) und Japan Credit Bureau (JCB).
  • Geldbewegungen für separate Zahlungen und Überweisungen, die source_transaction verwenden, werden nicht unterstützt
  • Mit Stripe können Sie bis zu 50 Erfassungen für einen einzelnen PaymentIntent durchführen

CUP- und JCB-Unterstützung

CUP-Mehrfacherfassung ist nur in den USA verfügbar. JCB-Mehrfacherfassung ist nur in den USA, in Kanada, Australien und Neuseeland verfügbar.

Best Practices

Wenn Sie getrennte Sendungen für eine Bestellung versenden, benachrichtigen Sie Ihre Endkundinnen und -kunden proaktiv über die Details jeder Lieferung. Auf diese Weise werden Anfragen und Rückbuchungen von Kundinnen/Kunden vermieden, da sie verwirrt sind, weil sie mehrere Transaktionen auf ihren Kontoauszügen sehen. Verwenden Sie die folgenden Best Practices bei der Benachrichtigung von Kundinnen und Kunden:

  • Informieren Sie sie zum Zeitpunkt des Bezahlvorgangs vor dem Kauf über das geschätzte Lieferdatum und den Transaktionsbetrag für jede Lieferung.
  • Benachrichtigen Sie sie bei jeder Lieferung, zusammen mit dem Transaktionsbetrag.
  • Geben Sie Ihre vollständigen Rückerstattungs- und Stornorichtlinien an.

Compliance

Sie sind bei Verwendung von Mehrfacherfassung für die Einhaltung aller geltenden Gesetze, Vorschriften und Netzwerkregeln verantwortlich. Informieren Sie sich über die Regeln der Kartennetze, mit denen Sie diese Funktion nutzen möchten, um sicherzustellen, dass Ihre Verkäufe allen geltenden Regeln entsprechen, die je nach Netzwerk unterschiedlich sind. Beispielsweise beschränken die meisten Kartennetzwerke die Nutzung von Mehrfacherfassung auf Transaktionen ohne Karte für den Verkauf von Waren, die separat versendet werden. Bestimmte Kartennetzwerke erlauben die Mehrfacherfassung für Unternehmen, basierend auf ihrer Branche (zum Beispiel Reisen), während andere die Mehrfacherfassung nicht für Ratenzahlungs- oder Einzahlungs-Workflows zulassen.

Die auf dieser Seite bereitgestellten Informationen im Zusammenhang mit der Einhaltung dieser Anforderungen dienen Ihrer allgemeinen Orientierung und stellen keine rechtliche, steuerliche, buchhalterische oder sonstige fachliche Beratung dar. Wenden Sie sich an eine Fachperson, wenn Sie sich bezüglich Ihrer Verpflichtungen unsicher sind.

Einen nicht erfassten PaymentIntent erstellen und bestätigen

Um anzugeben, dass Autorisierung und Erfassung getrennt werden sollen, geben Sie beim Erstellen des PaymentIntent die capture_method als manual an. Weitere Informationen zur separaten Autorisierung und Erfassung finden Sie unter Eine Zahlungsmethode zurückstellen.

Verwenden Sie den Parameter if_available oder never, um Multicapture für diese Zahlung anzufordern.

  • if_available: Der erstellte PaymentIntent lässt mehrere Erfassungen zu, wenn die Zahlungsmethode dies unterstützt.

  • never: Der erstellte PaymentIntent lässt keine mehrfachen Erfassung zu

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1000 \ -d currency=usd \ -d "payment_method_types[]"=card \ -d payment_method=pm_card_visa \ -d confirm=true \ -d capture_method=manual \ -d "expand[]"=latest_charge \ -d "payment_method_options[card][request_multicapture]"=if_available

In der Antwort enthält das Feld payment_method_details.card.multicapture.status für latest_charge je nach Zahlungsmethode des Kunden/der Kundin available oder unavailable.

// PaymentIntent Response { "id": "pi_xxx", "object": "payment_intent", "amount": 1000, "amount_capturable": 1000, "amount_received": 0, ... // if latest_charge is expanded "latest_charge": { "id": "ch_xxx", "object": "charge", "amount": 1000, "amount_captured": 0, "amount_refunded": 0, "payment_method_details": { "card": { "multicapture": { "status": "available" // or "unavailable" } } } ... } ... }

PaymentIntent erfassen

Bei einem PaymentIntent im Status requires_capture, in dem die Mehrfacherfassung available ist, wird Stripe durch Angabe des optionalen Parameters final_capture auf false angewiesen, die verbleibenden, nicht erfassten Gelder freizugeben, wenn die Erfassungs-API aufgerufen wird. Wenn Sie beispielsweise einen Payment Intent in Höhe von 10 USD bestätigen, bleiben bei der Erfassung von 7 USD mit final_capture=false die verbleibenden 3 USD autorisiert.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents/pi_xxx/capture \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount_to_capture=700 \ -d final_capture=false \ -d "expand[]"=latest_charge

In der PI-Erfassungsantwort werden die Felder amount_capturable und amount_received entsprechend aktualisiert.

// PaymentIntent Response { "id": "pi_ANipwO3zNfjeWODtRPIg", "object": "payment_intent", "amount": 1000, "amount_capturable": 300, // 1000 - 700 = 300 "amount_received": 700, // if latest_charge is expanded "latest_charge": { "id": "ch_xxx", "object": "charge", "amount": 1000, "amount_captured": 700, "amount_refunded": 0, ... } ... }

Endgültige Erfassung

Der PaymentIntent verbleibt im Status requires_capture, bis Sie eine der folgenden Maßnahmen ergreifen:

  • Setzen Sie final_capture auf true
  • Erfassung ohne den Parameter final_capture (da final_capture standardmäßig auf true eingestellt ist)
  • Das Autorisierungsfenster läuft ab.

An dieser Stelle gibt Stripe alle verbleibenden Gelder frei, und der PaymentIntent wechselt in den Status succeeded.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents/pi_xxx/capture \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount_to_capture=200 \ -d final_capture=true \ -d "expand[]"=latest_charge

In der PI-Erfassungsantwort werden die Felder amount_capturable und amount_received entsprechend aktualisiert.

// PaymentIntent Response { "id": "pi_ANipwO3zNfjeWODtRPIg", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, // not 100 due to final_capture=true "amount_received": 900, // 700 + 200 = 900 // if latest_charge is expanded "latest_charge": { "id": "ch_xxx", "object": "charge", "amount": 1000, "amount_captured": 900, "amount_refunded": 0, ... } ... }

Nicht erfasste PaymentIntents gehen in den Status canceled über, während teilweise erfasste PaymentIntents in den Status succeeded wechseln.

OptionalNicht erfasste Gelder freigeben

Ihre Integration testen

Verwenden Sie eine Stripe-Testkarte mit einer beliebigen CVC/Prüfzimmer und Postleitzahl und einem beliebigen zukünftigen Ablaufdatum, um Multicapture-Zahlungen zu testen.

Die NummerZahlungsmethodeBeschreibung
pm_card_visaDiese Testkarte unterstützt die Mehrfacherfassung.
pm_card_visa_cartesBancairesCartes Bancaires- oder Visa-Testkarte, die die Mehrfacherfassung unterstützt.

Rückerstattungen

Bei einem PaymentIntent mit dem Status requires_capture können Sie beliebig oft Rückerstattungen bis zum gesamten erfassten Betrag abzüglich des gesamten rückerstatteten Betrags durchfühen. Dies ist der amount_received – amount_refunded. Das Feld charge.refunded wechselt erst auf true, wenn die endgültige Erfassung durchgeführt wurde und die gesamte amount_received rückerstattet wird.

Stripe unterstützt keine Teilrückerstattungen mit refund_application_fee=true oder reverse_transfer=true. Stattdessen können Sie Teilgebührenrückerstattungen durchführen, indem Sie manuell Teilgebührenerstattungen und Transferrückbuchungen mit den Endpoints Rückerstattung von Plattformgebühren und Rückbuchung des Transfers durchführen. Nach Verwendung der Endpoints für die Rückerstattung der Plattformgebühr oder das Übertragungsstorno unterstützt Stripe keine weiteren Rückerstattungen mit refund_application_fee=true or reverse_transfer=true.

Connect

Multicapture unterstützt alle Use cases von Connect mit Ausnahme von Separate Zahlungen und Überweisungen mit dem Parameter source_transaction. Die Parameter application_fee_amount und transfer_data[amount] haben einige zusätzliche Validierungen. Beachten Sie die folgenden Validierungen bei der Implementierung von Multicapture mit Connect:

  • Die Festlegung von application_fee_amount oder transfer_data[amount] bei der ersten Erfassung macht sie für alle nachfolgenden Erfassungen erforderlich. Jede Übergabe von application_fee_amount und transfer_data[amount] zum Zeitpunkt der Erfassung setzt die bei der Erstellung, Bestätigung und Aktualisierungen des PaymentIntent übergebenen Werte außer Kraft.
  • Stripe unterstützt keine Teilrückerstattungen für Multicapture-Zahlungen mit refund_application_fee=true oder reverse_transfer=true. Sie können Teilgebührenrückerstattungen oder Transferrückbuchungen mit den Endpoints Rückerstattung von Plattformgebühren und Rückbuchung des Transfers durchführen.

Webhooks

Aktualisierte Webhooks belasten

Wir senden jedes Mal, wenn Sie eine Zahlung erfassen, einen charge.updated-Webhook.

Beispiel: Bei der ersten Erfassung einer Multicapture-Zahlung vom Typ Destination Charge mit einem application_fee_amount aktualisieren wir diese Felder von leeren auf nicht leere Werte.

// charge.updated { "data": { "id": "ch_xxx", "object": "charge", "amount": 1000, "balance_transaction": "txn_xxx", // applicable to all charges "transfer": "tr_xxx", // applicable to destination charges only "application_fee": "fee_xxx", // applicable to Connect only ... }, "previous_attributes": { "balance_transaction": null, // applicable to all charges "transfer": null, // applicable to destination charges only "application_fee": null, // applicable to Connect only } }

payment_intent.amount_capturable_updated

Wir übermitteln payment_intent.amount_capturable_updated bei jeder Erfassung, unabhängig von den Werten amount_to_capture und final_capture.

Wenn wir beispielsweise 1 USD von einem PaymentIntent mit einem Betrag von 10 USD erfassen, wird das Feld amount_capturable des PaymentIntent auf 9 USD aktualisiert.

// payment_intent.amount_capturable_updated { "data": { "id": "pi_xxx", "object": "payment_intent", "amount": 1000, "amount_capturable": 900 // 1000 - 100 = 900 ... }, "previous_attributes": { "amount_capturable": 1000 } }

Zahlungserfassungsereignisse

Wir senden ein charge.captured-Ereignis für die endgültige Erfassung oder am Ende des Autorisierungsfensters, um die Autorisierung des nicht erfassten Betrags rückgängig zu machen. Das Feld captured für eine Zahlung wird erst nach einer endgültigen Erfassung oder einem Autorisierungsstorno true.

Wenn wir beispielsweise eine Erfassung mit amount=0 und final_capture=true durchführen, ändert sich das Attribut captured der Zahlung von false in true.

// charge.captured { "data": { "id": "ch_xxx", "object": "charge", "captured": true ... }, "previous_attributes": { "captured": false } }

Rückerstattungs-Webhooks

Multicapture-Webhooks für die Rückerstattung unterscheiden sich nicht von Webhooks ohne Multicapture.

Bei jeder Teilrückerstattung senden wir ein refund.created-Ereignis. Bei verbundenen Konten senden wir auch application_fee.refunded-Ereignisse, wenn wir Plattformgebühren erstatten, und transfer.reversed-Ereignisse, wenn wir Transfers zurückbuchen.

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