Separate Zahlungen und Überweisungen erstellen
Erstellen Sie Zahlungen auf Ihrem Plattformkonto und übertragen Sie die Gelder auf mehrere verbundene Konten.
Erstellen Sie separate Zahlungen und Überweisungen , um Gelder aus einer Zahlung auf mehrere verbundene Konten zu überweisen oder wenn ein/e bestimmte/r Nutzer/in zum Zeitpunkt der Zahlung nicht bekannt ist. Die Zahlung auf Ihrem Plattformkonto wird von den Überweisungen auf Ihre verbundenen Konten entkoppelt. Mit diesem Zahlungstyp gilt:
- Sie erstellen eine Zahlung auf dem Konto Ihrer Plattform und übertragen außerdem Gelder auf Ihre verbundenen Konten. Die Zahlung wird auf Ihrem Konto als Abbuchung ausgewiesen und es gibt auch Übertragungen auf verbundene Konten (Betrag wird von Ihnen bestimmt), die von Ihrem Kontoguthaben eingezogen werden.
- Sie können Gelder auf mehrere verbundene Konten übertragen.
- Ihr Kontoguthaben wird mit Stripe-Gebühren, Rückerstattungen und Rückbuchungen belastet.
Diese Art der Zahlung eignet sich optimal für Marktplätze, die Zahlungen zwischen mehreren Parteien aufteilen müssen, wie beispielsweise bei DoorDash, einer Lieferplattform für Restaurants.
Stripe unterstützt separate Zahlungen und Überweisungen in den folgenden Regionen:
Bei den meisten Szenarien müssen sich Ihre Plattform und alle verbundenen Konten in derselben Region befinden. Beim Versuch, Gelder über eine unzulässige Grenze zu überweisen, wird ein Fehler zurückgegeben. Informationen zur regionsübergreifenden Unterstützung finden Sie unter Grenzüberschreitende Überweisungen. Verwenden Sie Übertragungen nur in Kombination mit zulässigen Anwendungsszenarien für Zahlungen, Aufstockungen und Gebühren. Wir empfehlen, separate Zahlungen und Überweisungen für verbundene Konten zu verwenden, die Zugriff auf das Express-Dashboard oder keinen Zugriff auf das Dashboard haben.
Private Vorschau
Sie können Destination Charges ohne den Parameter on_
verwenden, wenn sich Ihre Plattform und das verbundene Konto in verschiedenen Ländern (innerhalb der USA, des Vereinigten Königreichs und der EU) befinden. Kontaktieren Sie uns, um frühzeitigen Zugriff zu erhalten.
Erstellen Sie eine nutzerdefinierte Zahlungsintegration, indem Sie Komponenten der Nutzeroberfläche auf Ihrer Website mit Stripe Elements einbetten. Der clientseitige und der serverseitige Code erstellen ein Checkout-Formular, das verschiedene Zahlungsmethoden akzptiert. Sehen Sie sich diese Integration im Vergleich zu anderen Integrationstypen von Stripe an.
Integrationsaufwand
Integrationstyp
Komponenten der Nutzeroberfläche in einem nutzerdefinierten Zahlungsablauf kombinieren
Anpassung der Nutzeroberfläche
Anpassung auf CSS-Ebene mit der Appearance API
Registrieren Sie sich zunächst für ein Stripe-Konto.
Verwenden Sie unsere offiziellen Bibliotheken, um von Ihrer Anwendung aus auf die Stripe API zuzugreifen:
PaymentIntent erstellenServerseitig
Stripe verwendet ein PaymentIntent-Objekt, um Ihre Absicht darzustellen, eine Kundenzahlung einzuziehen. Dabei werden die Abbuchungsversuche und Zahlungsstatusänderungen während des gesamten Vorgangs dokumentiert.
Die Zahlungsmethoden, die Kundinnen/Kunden während des Bezahlvorgangs angezeigt werden, sind ebenfalls im PaymentIntent enthalten. Sie können Zahlungsmethoden durch Stripe automatisch aus Ihren Dashboard-Einstellungen abrufen lassen oder sie manuell auflisten.
Sofern Ihre Integration keine codebasierte Option zum Anbieten von Zahlungsmethoden erfordert, listen Sie Zahlungsmethoden nicht manuell auf. Stripe wertet die Währung, die Einschränkungen für Zahlungsmethoden und andere Parameter aus, um die Liste der unterstützten Zahlungsmethoden zu ermitteln. Stripe priorisiert Zahlungsmethoden, die die Konversion steigern und die für die Währung und den Standort des Kunden/der Kundin am relevantesten sind. Stripe verbirgt Zahlungsmethoden mit niedrigerer Priorität in einem Überlaufmenü.
Client-Geheimnis abrufen
Im PaymentIntent ist ein Client-Geheimnis enthalten, das auf dem Client verwendet wird, um Zahlungen sicher abzuschließen. Es gibt verschiedene Verfahren zum Übergeben des Client-Geheimnisses an den Client.
Zahlungsdaten erfassenClientseitig
Erfassen Sie Zahlungsdetails auf dem Client mit dem Payment Element. Das Payment Element ist eine vorgefertigte Komponente der Nutzeroberfläche, die die Erfassung von Zahlungsdaten für eine Vielzahl von Zahlungsmethoden vereinfacht.
Das Payment Element enthält einen iFrame, der Zahlungsinformationen über eine HTTPS-Verbindung sicher an Stripe sendet. Vermeiden Sie es, das Payment Element in einem anderen iFrame zu platzieren, da einige Zahlungsmethoden die Weiterleitung an eine andere Seite zur Zahlungsbestätigung verlangen.
Wenn Sie sich für die Verwendung eines Iframes entscheiden und Apple Pay oder Google Pay akzeptieren möchten, muss das allow-Attribut des iFrame auf "payment *"
gesetzt werden.
Die Adresse der Bezahlseite muss mit https://
beginnen, nicht mit http://
, damit Ihre Integration funktioniert. Sie können Ihre Integration ohne HTTPS testen. Denken Sie jedoch daran, dieses zu aktivieren, wenn Sie zur Annahme von Live-Zahlungen bereit sind.
Das Payment Element rendert ein dynamisches Formular, mit dem Kund/innen ihre gewünschte Zahlungsmethode auswählen können. Für jede Zahlungsmethode fordert das Formular die Kund/innen automatisch auf, alle erforderlichen Zahlungsdaten einzugeben.
Erscheinungsbild anpassen
Passen Sie das Payment Element an das Design Ihrer Website an, indem Sie beim Erstellen des Elements
-Anbieters das Erscheinungsbild-Objekt an options
übergeben.
Adressen einholen
Standardmäßig erfasst das Payment Element nur die erforderlichen Angaben zur Rechnungsadresse. Verwenden Sie das Address Element, um die vollständige Rechnungsadresse (z. B. zur Berechnung der Steuer für digitale Waren und Dienstleistungen) oder die Versandadresse einer Kundin/eines Kunden zu erfassen.
Apple Pay-Händler-Token anfordern
Wenn Sie Ihre Integration für die Annahme von Zahlungen per Apple Pay konfiguriert haben, empfehlen wir die Konfiguration der Apple Pay-Schnittstelle um ein Händler-Token zurückzugeben, um von Händlern initiierte Transaktionen (MIT) zu ermöglichen. Fordern Sie den entsprechenden Händler-Token-Typ im Payment Element an.
Zahlung an Stripe sendenClientseitig
Verwenden Sie stripe.confirmPayment, um die Zahlung mit Details aus dem Payment Element vorzunehmen. Geben Sie für diese Funktion eine return_url an, um anzugeben, wohin Stripe die Nutzer/innen nach Durchführung der Zahlung weiterleiten soll. Ihre Nutzer/innen werden möglicherweise zunächst an eine zwischengeschaltete Seite weitergeleitet, wie z. B. eine Bankautorisierungsseite, bevor sie zur return_
weitergeleitet werden. Kartenzahlungen werden sofort zur return_
weitergeleitet, wenn eine Zahlung erfolgreich war.
Wenn Sie Kartenzahlungen nach Abschluss der Zahlung nicht weiterleiten möchten, können Sie redirect auf if_
festlegen. Dadurch werden nur Kundinnen/Kunden weitergeleitet, die mit weiterleitungsbasierten Zahlungsmethoden bezahlen.
Achten Sie darauf, dass die return_
auf eine Seite Ihrer Website verweist, die den Status der Zahlung angibt. Wenn Stripe den/die Kund/in an die return_
weiterleitet, stellen wir die folgenden URL-Abfrageparameter bereit:
Parameter | Beschreibung |
---|---|
payment_ | Die eindeutige ID für die PaymentIntent . |
payment_ | Das Client-Geheimnis des PaymentIntent -Objekts. |
Vorsicht
Wenn Sie über Tools verfügen, die die Browser-Sitzung der Kund/innen verfolgen, müssen Sie möglicherweise die Domain stripe.
zur Referenz-Ausschlussliste hinzufügen. Weiterleitungen haben zur Folge, dass einige Tools neue Sitzungen erstellen. Dies wiederum hindert Sie daran, die gesamte Sitzung zu verfolgen.
Verwenden Sie einen der Abfrageparameter, um den PaymentIntent abzurufen. Überprüfen Sie den Status des PaymentIntent, um zu entscheiden, was Ihren Kundinnen/Kunden angezeigt werden soll. Sie können bei der Angabe der return_
auch Ihre eigenen Abfrageparameter anhängen, die während des Weiterleitungsvorgangs erhalten bleiben.
Ereignisse nach Zahlung verarbeitenServerseitig
Stripe sendet ein payment_intent.succeeded-Ereignis, wenn die Zahlung abgeschlossen ist. Verwenden Sie Webhook-Tool im Dashboard oder folgen Sie der Webhook-Anleitung, um diese Ereignisse zu empfangen und führen Sie Aktionen aus, wie beispielsweise das Senden einer Bestellbestätigung per E-Mail, das Protokollieren des Verkaufs in der Datenbank oder das Starten eines Versand-Workflows.
Überwachen Sie diese Ereignisse, statt auf einen Callback vom Client zu warten. Auf dem Client könnten die Kund/innen das Browserfenster schließen oder die App beenden, bevor der Callback erfolgt ist. Bösartige Clients könnten dann die Antwort manipulieren. Wenn Sie Ihre Integration so einrichten, dass sie asynchrone Ereignisse überwacht, können Sie verschiedene Arten von Zahlungsmethoden mit einer einzelnen Integration akzeptieren.
Neben der Abwicklung des payment_
-Ereignisses empfehlen wir die Abwicklung von diesen weiteren Ereignissen, wenn Sie Zahlungen mit dem Payment Element erfassen:
Ereignis | Beschreibung | Aktion |
---|---|---|
payment_intent.succeeded | Wird gesendet, wenn Kundinnen und Kunden eine Zahlung erfolgreich abgeschlossen haben. | Senden Sie den Kund/innen eine Auftragsbestätigung und wickeln Sie die Bestellung ab. |
payment_intent.processing | Wird gesendet, wenn eine/e Kund/in eine Zahlung erfolgreich veranlasst hat, die Zahlung aber noch nicht abgeschlossen ist. Dieses Ereignis wird am häufigsten gesendet, wenn der Kunde/die Kundin eine Bankabbuchung veranlasst. In Zukunft folgt darauf entweder ein payment_ - oder ein payment_ -Ereignis. | Senden Sie eine Bestellbestätigung an die Kund/innen, in der angegeben ist, dass die Zahlung noch aussteht. Bei digitalen Waren können Sie die Bestellung abwickeln, bevor Sie darauf warten, dass die Zahlung erfolgt. |
payment_intent.payment_failed | Wird gesendet, wenn ein Kunde/eine Kundin einen Zahlungsversuch durchführt, die Zahlung jedoch fehlschlägt. | Wenn eine Zahlung von processing zu payment_ übergeht, bieten Sie der Kundin/dem Kunden einen weiteren Zahlungsversuch an. |
Transfer erstellenServerseitig
Senden Sie auf Ihrem Server Gelder von Ihrem Konto zu einem verbundenen Konto, indem Sie eine Übertragung erstellen und die verwendete transfer_
angeben.
Transfer und Zahlungsbeträge müssen nicht übereinstimmen. Sie können eine einzelne Zahlung auf mehrere Übertragungen aufteilen oder mehrere Zahlungen in eine einzelne Übertragung einbeziehen. Im folgenden Beispiel wird eine zusätzliche Übertragung erstellt, die der gleichen transfer_
zugeordnet ist.
Überweisungsoptionen
Sie können der Zeichenfolge transfer_
einen beliebigen Wert zuweisen, solange dieser für einen einzelnen Geschäftsvorgang steht. Zudem können Sie Überweisungen ohne zugehörige Zahlung oder Angabe einer transfer_
durchführen, zum Beispiel wenn Sie einen Dienstleister bezahlen müssen und diesem Vorgang keine Kundenzahlung zugrunde liegt.
Notiz
Die transfer_
identifiziert nur zugehörige Objekte. Sie hat keine Auswirkungen auf die Standardfunktionalität. Um zu verhindern, dass eine Übertragung ausgeführt wird, bevor die Gelder aus der zugehörigen Zahlung verfügbar sind, verwenden Sie das Attribut source_
der Überweisung.
Standardmäßig schlägt eine Übertragungsanfrage fehl, wenn der Betrag das verfügbare Kontoguthaben der Plattform übersteigt. Stripe wiederholt fehlgeschlagene Übertragungsanfragen nicht automatisch.
Sie können fehlgeschlagene Übertragungsanfragen für Übertragungen vermeiden, die mit Zahlungen verbunden sind. Wenn Sie die zugehörige Zahlung als source_transaction der Überweisung angeben, ist die Übertragungsanfrage automatisch erfolgreich. Die Übertragung erfolgt jedoch erst, wenn die Gelder aus dieser Zahlung auf dem Plattformkonto verfügbar sind.
Notiz
Wenn Sie separate Zahlungen und Überweisungen verwenden, berücksichtigen Sie dies bei der Planung Ihres Auszahlungs-Plans. Automatische Auszahlungen können Transfers stören, für die keine source_
definiert ist.
Integration testen
Hier finden Sie weitere Informationen zum Testen Ihrer Integration.
Abwicklungshändler angeben
Der Abwicklungshändler ist abhängig von den Funktionen, die für ein Konto eingerichtet sind, und davon, wie eine Zahlung erstellt wird. Der Abwicklungshändler bestimmt, wessen Informationen für die Durchführung der Zahlung verwendet werden. Dazu gehört die Zahlungsbeschreibung in der Abrechnung (entweder die der Plattform oder die des verbundenen Kontos), die auf dem Kreditkarten- oder Kontoauszug des Kunden/der Kundin für diese Zahlung angezeigt wird.
Durch die Angabe des Abwicklungshändlers können Sie genauer festlegen, für wen Zahlungen erstellt werden sollen. Einige Plattformen sind beispielsweise vorzugsweise der Abwicklungshändler, da Kundinnen/Kunden direkt mit ihrer Plattform interagieren (zum Beispiel On-Demand-Plattformen). Manche Plattformen verfügen jedoch über verbundene Konten, die stattdessen direkt mit Kundinnen/Kunden interagieren (zum Beispiel ein Ladengeschäft auf einer E-Commerce-Plattform). Bei diesen Szenarien ist es möglicherweise sinnvoller, wenn das verbundene Konto der Abwicklungshändler ist.
Sie können den Parameter on_
auf die ID eines verbundenen Kontos setzen, um dieses Konto zum Abwicklungshändler für die Zahlung zu machen. Bei Verwendung von on_
:
- Zahlungen werden im Land und in der Abwicklungswährung des verbundenen Kontos abgewickelt.
- Es wird die Gebührenstruktur für das Land des verbundenen Kontos verwendet.
- Die Zahlungsbeschreibung des verbundenen Kontos wird auf der Kreditkartenabrechnung des Kunden/der Kundin angezeigt.
- Wenn sich das verbundene Konto in einem anderen Land als die Plattform befindet, werden die Adresse und die Telefonnummer des verbundenen Kontos auf der Kreditkartenabrechnung des Kunden/der Kundin angezeigt.
- Wie viele Tage ein ausstehendes Guthaben vor der Auszahlung zurückgehalten wird, hängt von der Einstellung delay_days auf dem verbundenen Konto ab.
Wenn on_
weggelassen wird, ist die Plattform das für die Zahlung verantwortliche Unternehmen.
Vorsicht
Der Parameter on_
wird nur für verbundene Konten mit Zahlungsfunktionen wie card_payments unterstützt. Konten, denen der Empfänger-Rahmenvertrag zugrunde liegt, können keine card_
oder andere Zahlungsfunktionen anfordern.
Gebühren einziehen
Bei der Verwendung separater Zahlungen und Überweisungen kann die Plattform Gebühren für eine Zahlung einziehen, indem sie den Betrag reduziert, den sie auf die Zielkonten überweist. Nehmen Sie zum Beispiel eine Transaktion mit einem Lieferservice in einem Restaurant, bei der das Restaurant und der/die Fahrer/in bezahlt werden:
- Der Kunde/die Kundin zahlt 100 USD.
- Stripe erhebt eine Gebühr von 3,20 USD und fügt die verbleibenden 96,80 USD dem ausstehenden Guthaben des Plattformkontos hinzu.
- Die Plattform überweist 70 USD auf das verbundene Konto des Restaurants und 20 USD auf das verbundene Konto des Fahrers/der Fahrerin.
- Eine Plattformgebühr von 6,80 USD verbleibt auf dem Plattformkonto.

Informationen zur Verarbeitung von Zahlungen in mehreren Währungen mit Connect finden Sie unter Mit mehreren Währungen arbeiten.
Verfügbarkeit von Überweisungen
Standardmäßig werden Gelder aus dem verfügbaren Guthaben des Plattformkontos überwiesen. Der Versuch, einen Betrag zu überweisen, der das verfügbare Guthaben übersteigt, schlägt mit einer Fehlermeldung fehl. Um dieses Problem zu vermeiden, verknüpfen Sie eine Überweisung beim Erstellen mit einer bestehenden Zahlung, indem Sie die Zahlungs-ID als source_
-Parameter angeben. Mit einer source_
wird die Überweisungsanforderung unabhängig von Ihrem verfügbaren Guthaben als erfolgreich zurückgegeben, wenn die zugehörige Zahlung noch nicht abgewickelt wurde. Die Gelder werden auf dem Zielkonto jedoch erst verfügbar, wenn die Gelder aus der zugehörigen Zahlung vom Plattformkonto überwiesen werden können.
Notiz
Wenn eine Überweisung aufgrund unzureichenden Plattformguthabens fehlschlägt, wird die fehlgeschlagene Aktion nicht automatisch wiederholt, nachdem Sie Guthaben hinzugefügt haben. Nachdem Sie Geld eingezahlt haben, müssen Sie alle fehlgeschlagenen Überweisungen oder Auszahlungen wiederholen.
Wenn die Quellenzahlung den Wert transfer_
hat, weist Stripe denselben Wert der transfer_
der Übertragung zu. Ist dies nicht der Fall, generiert Stripe eine Zeichenfolge im Format group_
plus der zugehörigen PaymentIntent-ID, zum Beispiel: group_
. Diese Zeichenfolge wird sowohl für die Zahlung als auch für die Überweisung als transfer_
zugewiesen.
Notiz
Sie müssen die source_
angeben, wenn Sie eine Übertragung erstellen. Sie können dieses Attribut später nicht aktualisieren.
Sie können die Zahlungs-ID dem PaymentIntent entnehmen:
- Rufen Sie das Attribut neueste_Zahlung des PaymentIntent ab. Bei diesem Attribut handelt es sich um die ID der neuesten Abbuchung, die mit PaymentIntent verknüpft ist.
- Fordern Sie eine Liste von Zahlungen an, wobei Sie den
payment_
in der Anfrage angeben. Diese Methode gibt vollständige Daten für alle Zahlungen zurück, die mit dem PaymentIntent verknüpft sind.intent
Folgendes gilt bei Verwendung dieses Parameters:
- Der Überweisungsbetrag darf nicht den Betrag der zugrundeliegenden Zahlung übersteigen.
- Sie können mehrere Überweisungen mit dem gleichen Parameter
source_
erstellen, solange die Summe der Überweisungen die zugrunde liegende Zahlung nicht übersteigt.transaction - Die Überweisung übernimmt von der zugehörigen Zahlung den Status „Ausstehend“: Wenn die Gelder von der Zahlung in N Tagen verfügbar werden, wird auch die Zahlung, die das Stripe-Zielkonto durch die Überweisung empfängt, in N Tagen verfügbar.
- Stripe erstellt automatisch eine
transfer_
für Sie.group - Die Währung der Saldotransaktion, die mit der Abbuchung verknüpft ist, muss mit der Währung der Überweisung übereinstimmen
Asychrone Zahlungsmethoden wie ACHkönnen nach einer nachfolgenden Überweisungsanfrage fehlschlagen. Vermeiden Sie für diese Zahlungen die Verwendung von source_
. Warten Sie stattdessen, bis ein charge.succeeded-Ereignis ausgelöst wird, bevor Sie die Gelder überweisen. Wenn Sie bei diesen Zahlungen source_
verwenden, müssen Sie Funktionen zum Umgang mit Zahlungsfehlern implementieren.
Wenn eine als source_
verwendete Zahlung fehlschlägt, werden Gelder aus dem Guthaben Ihres Plattformkontos auf das verbundene Konto überwiesen, um die Zahlung zu decken. Um diese Gelder zurückzuerhalten, können Sie die Überweisung im Zusammenhang mit der fehlgeschlagenen source_
zurückbuchen.
Rückerstattungen ausstellen
Zahlungen, die auf Ihrer Plattform erstellt wurden, können Sie mithilfe des Geheimschlüssels Ihrer Plattform zurückerstatten. Die Rückerstattung einer Zahlung hat allerdings keine Auswirkungen auf damit verbundene Übertragungen. Es obliegt Ihrer Plattform, geschuldete Beträge einzutreiben, indem Sie die Höhe künftiger Übertragungen reduzieren oder Transfers zurückbuchen.
Transfers zurückbuchen
Connect unterstützt die Rückbuchung von Überweisungen, die an verbundene Konten erfolgt sind, entweder in voller Höhe oder in Teilen (durch Festlegen eines Werts für amount
). Verwenden Sie Überweisungsrückbuchungen nur für Rückerstattungen oder Zahlungsanfechtungen im Zusammenhang mit der Abbuchung oder zur Korrektur von Fehlern bei der Überweisung.
Durch eine Rückbuchung wird der angegebene Teilbetrag (oder der Gesamtbetrag) einer Überweisung wieder dem verfügbaren Guthaben der Plattform gutgeschrieben, wodurch sich das verfügbare Guthaben des verbundenen Kontos entsprechend verringert. Eine Überweisung kann nur zurückgebucht werden, wenn das verfügbare Guthaben des verbundenen Kontos höher als der Rückbuchungsbetrag ist oder wenn verbundene Rückstellungen aktiviert sind.
Wenn für die Rückbuchung die Währung umgerechnet werden muss, wird ein Fehler zurückgegeben, falls der Rückbuchungsbetrag nach der Währungsumrechnung zu einem Kontostand von null führt.
Wenn die Rückerstattungen für ein verbundenes Konto deaktiviert werden, können dennoch weiterhin Rückbuchungen der Überweisungen verarbeitet werden.