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
Mit Connect loslegen
Integrationsgrundlagen
Musterintegrationen
Onboarding von Konten
Konto-Dashboards konfigurieren
Zahlungen weltweit akzeptieren
    Zahlung erstellen
      Direct Charges
      Destination Charges
      Separate Gebühren und Überweisungen
    Zahlungsbeschreibungen in der Abrechnung festlegen
    MCCs einrichten
    Umgang mit mehreren Währungen
    Mit Connect Zahlungslinks erstellen
    Radar mit Connect verwenden
    Angefochtene Zahlungen bei Connect
    Abos erstellen
    Rechnungen erstellen
    Mehrere Konfigurationen der Zahlungsmethoden
    Komponente für die Zahlungsmethodeneinstellungen einbetten
    Kontostand
Verbundene Konten auszahlen
Ihre Connect-Plattform verwalten
Steuerformulare für Ihre Connect-Plattform
Mit verbundenen Kontotypen zusammenarbeiten
StartseitePlattformen und MarktplätzeAccept paymentsCreate a charge

Separate Zahlungen und Überweisungen erstellen

Erstellen Sie Zahlungen auf Ihrem Plattformkonto und übertragen Sie die Gelder auf mehrere verbundene Konten.

Seite kopieren

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:

Australien
Belgien
Brasilien
Bulgarien
Dänemark
Deutschland
Estland
Finnland
Frankreich
Griechenland
Irland
Italien
Japan
Kanada
Kroatien
Lettland
Liechtenstein
Litauen
Luxemburg
Malaysia
Malta
Mexiko
Neuseeland
Niederlande
Norwegen
Österreich
Polen
Portugal
Rumänien
Schweden
Schweiz
Singapur
Slowakei
Slowenien
Spanien
Tschechische Republik
Ungarn
Vereinigte Staaten
Vereinigtes Königreich
Zypern

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_behalf_of 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.

Kundenstandort
Größe
Design
Layout
Um zu erfahren, wie Link für einen wiederkehrenden Nutzer funktioniert, geben Sie die E-Mail-Adresse demo@stripe.com ein. Um zu erfahren, wie Link bei einer Neuanmeldung funktioniert, geben Sie eine beliebige andere E-Mail-Adresse ein und füllen Sie das Formular aus. Diese Demo zeigt Google Pay oder Apple Pay nur dann an, wenn Sie über eine aktive Karte mit einer der beiden Wallets verfügen.

Integrationsaufwand

Ein wenig Code

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:

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

PaymentIntent erstellen
Serverseitig

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ü.

Erstellen Sie einen PaymentIntent auf Ihrem Server mit einem Betrag, einer Währung und dem Wert transfer_group, der der Übertragung der Gelder später zugeordnet wird. In der neuesten Version der API ist die Angabe des Parameters automatic_payment_methods optional, da Stripe die Funktionalität standardmäßig aktiviert. Sie können Zahlungsmethoden über das Dashboard verwalten. Stripe handhabt die Rückgabe der in Frage kommenden Zahlungsmethoden anhand von Faktoren wie Transaktionsbetrag, Währung und Zahlungsablauf.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=10000 \ -d currency=usd \ -d "automatic_payment_methods[enabled]"=true \ -d transfer_group=ORDER100

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.

Rufen Sie das Client-Geheimnis von einem Endpoint auf Ihrem Server ab, indem Sie die Browser-Funktion fetch verwenden. Diese Vorgehensweise funktioniert am besten, wenn es sich bei Ihrer Client-Seite um eine einseitige Anwendung handelt, insbesondere wenn sie mit einem modernen Frontend-Framework wie React erstellt wurde. Erstellen Sie den Server-Endpoint, der das Client-Geheimnis bereitstellt:

main.rb
Ruby
get '/secret' do intent = # ... Create or retrieve the PaymentIntent {client_secret: intent.client_secret}.to_json end

Und dann rufen Sie das Client-Geheimnis mit JavaScript auf der Client-Seite ab:

(async () => { const response = await fetch('/secret'); const {client_secret: clientSecret} = await response.json(); // Render the form using the clientSecret })();

Zahlungsdaten erfassen
Clientseitig

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.

Stripe.js einrichten

Das Payment Element ist ein Feature von Stripe.js und steht damit automatisch zur Verfügung. Fügen Sie das Stripe.js-Skript auf Ihrer Bezahlseite ein, indem Sie es in den head Ihrer HTML-Datei einbinden. Laden Sie Stripe.js immer direkt von js.stripe.com, um die PCI-Konformität zu gewährleisten. Fügen Sie das Skript nicht in ein Paket ein und hosten Sie selbst keine Kopie davon.

checkout.html
<head> <title>Checkout</title> <script src="https://js.stripe.com/v3/"></script> </head>

Erstellen Sie auf Ihrer Bezahlseite eine Instanz von Stripe mit dem folgenden JavaScript:

checkout.js
// Set your publishable key: remember to change this to your live publishable key in production // See your keys here: https://dashboard.stripe.com/apikeys const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
);

Payment Element Ihrer Bezahlseite hinzufügen

Das Payment Element benötigt einen festen Platz auf Ihrer Zahlungsseite. Erstellen Sie einen leeren DOM-Knoten (Container) mit einer eindeutigen ID in Ihrem Zahlungsformular:

checkout.html
<form id="payment-form"> <div id="payment-element"> <!-- Elements will create form elements here --> </div> <button id="submit">Submit</button> <div id="error-message"> <!-- Display error message to your customers here --> </div> </form>

Wenn das vorherige Formular geladen wurde, erstellen Sie eine Instanz des Payment Element und verbinden es mit dem DOM-Knoten (Container). Übergeben Sie das Client-Geheimnis aus dem vorherigen Schritt an options, wenn Sie die Elements-Instanz erstellen:

Gehen Sie sorgfältig mit dem Client-Geheimnis um, denn es kann die Zahlung abschließen. Protokollieren Sie es nicht, betten Sie es nicht in URLs ein und geben Sie es nur dem/der Kund/in preis.

checkout.js
const options = { clientSecret: '{{CLIENT_SECRET}}', // Fully customizable with appearance API. appearance: {/*...*/}, }; // Set up Stripe.js and Elements to use in checkout form, passing the client secret obtained in a previous step const elements = stripe.elements(options); // Create and mount the Payment Element const paymentElementOptions = { layout: 'accordion'}; const paymentElement = elements.create('payment', paymentElementOptions); paymentElement.mount('#payment-element');

Stripe Elements durchsuchen

Stripe Elements ist eine Sammlung von Drop-In-Komponenten der Nutzeroberfläche. Um Ihr Formular weiter anzupassen oder andere Kundeninformationen zu erfassen, durchsuchen Sie die Elements-Dokumentation.

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 senden
Clientseitig

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_url weitergeleitet werden. Kartenzahlungen werden sofort zur return_url weitergeleitet, wenn eine Zahlung erfolgreich war.

Wenn Sie Kartenzahlungen nach Abschluss der Zahlung nicht weiterleiten möchten, können Sie redirect auf if_required festlegen. Dadurch werden nur Kundinnen/Kunden weitergeleitet, die mit weiterleitungsbasierten Zahlungsmethoden bezahlen.

checkout.js
const form = document.getElementById('payment-form'); form.addEventListener('submit', async (event) => { event.preventDefault(); const {error} = await stripe.confirmPayment({ //`Elements` instance that was used to create the Payment Element elements, confirmParams: { return_url: 'https://example.com/order/123/complete', }, }); if (error) { // This point will only be reached if there is an immediate error when // confirming the payment. Show error to your customer (for example, payment // details incomplete) const messageContainer = document.querySelector('#error-message'); messageContainer.textContent = error.message; } else { // Your customer will be redirected to your `return_url`. For some payment // methods like iDEAL, your customer will be redirected to an intermediate // site first to authorize the payment, then redirected to the `return_url`. } });

Achten Sie darauf, dass die return_url auf eine Seite Ihrer Website verweist, die den Status der Zahlung angibt. Wenn Stripe den/die Kund/in an die return_url weiterleitet, stellen wir die folgenden URL-Abfrageparameter bereit:

ParameterBeschreibung
payment_intentDie eindeutige ID für die PaymentIntent.
payment_intent_client_secretDas 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.com 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_url auch Ihre eigenen Abfrageparameter anhängen, die während des Weiterleitungsvorgangs erhalten bleiben.

status.js
// Initialize Stripe.js using your publishable key const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); // Retrieve the "payment_intent_client_secret" query parameter appended to // your return_url by Stripe.js const clientSecret = new URLSearchParams(window.location.search).get( 'payment_intent_client_secret' ); // Retrieve the PaymentIntent stripe.retrievePaymentIntent(clientSecret).then(({paymentIntent}) => { const message = document.querySelector('#message') // Inspect the PaymentIntent `status` to indicate the status of the payment // to your customer. // // Some payment methods will [immediately succeed or fail][0] upon // confirmation, while others will first enter a `processing` state. // // [0]: https://stripe.com/docs/payments/payment-methods#payment-notification switch (paymentIntent.status) { case 'succeeded': message.innerText = 'Success! Payment received.'; break; case 'processing': message.innerText = "Payment processing. We'll update you when payment is received."; break; case 'requires_payment_method': message.innerText = 'Payment failed. Please try another payment method.'; // Redirect your user back to your payment page to attempt collecting // payment again break; default: message.innerText = 'Something went wrong.'; break; } });

Ereignisse nach Zahlung verarbeiten
Serverseitig

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_intent.succeeded-Ereignisses empfehlen wir die Abwicklung von diesen weiteren Ereignissen, wenn Sie Zahlungen mit dem Payment Element erfassen:

EreignisBeschreibungAktion
payment_intent.succeededWird 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.processingWird 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_intent.succeeded- oder ein payment_intent.payment_failed-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_failedWird gesendet, wenn ein Kunde/eine Kundin einen Zahlungsversuch durchführt, die Zahlung jedoch fehlschlägt.Wenn eine Zahlung von processing zu payment_failed übergeht, bieten Sie der Kundin/dem Kunden einen weiteren Zahlungsversuch an.

Transfer erstellen
Serverseitig

Senden Sie auf Ihrem Server Gelder von Ihrem Konto zu einem verbundenen Konto, indem Sie eine Übertragung erstellen und die verwendete transfer_group angeben.

Command Line
cURL
curl https://api.stripe.com/v1/transfers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=7000 \ -d currency=usd \ -d destination=
{{CONNECTED_ACCOUNT_ID}}
\ -d transfer_group=ORDER100

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_group zugeordnet ist.

Command Line
cURL
curl https://api.stripe.com/v1/transfers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=2000 \ -d currency=usd \ -d destination={{OTHER_CONNECTED_ACCOUNT_ID}} \ -d transfer_group=ORDER100

Überweisungsoptionen

Sie können der Zeichenfolge transfer_group 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_group durchführen, zum Beispiel wenn Sie einen Dienstleister bezahlen müssen und diesem Vorgang keine Kundenzahlung zugrunde liegt.

Notiz

Die transfer_group 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_transaction 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_transaction definiert ist.

Integration testen

KartennummerSzenarioSo führen Sie den Test durch
Die Kartenzahlung ist erfolgreich und es ist keine Authentifizierung erforderlich.Füllen Sie das Kreditkartenformular aus und geben Sie die Kreditkartennummer mit beliebiger Gültigkeitsdauer, CVC und Postleitzahl an.
Für die Kartenzahlung ist eine Authentifizierung erforderlich.Füllen Sie das Kreditkartenformular aus und geben Sie die Kreditkartennummer mit beliebiger Gültigkeitsdauer, CVC und Postleitzahl an.
Die Karte wird mit einem Ablehnungscode wie insufficient_funds abgelehnt.Füllen Sie das Kreditkartenformular aus und geben Sie die Kreditkartennummer mit beliebiger Gültigkeitsdauer, CVC und Postleitzahl an.
Die UnionPay-Karte hat eine variable Länge von 13 bis 19 Ziffern.Füllen Sie das Kreditkartenformular aus und geben Sie die Kreditkartennummer mit beliebiger Gültigkeitsdauer, CVC und Postleitzahl an.

Hier finden Sie weitere Informationen zum Testen Ihrer Integration.

OptionalWeitere Zahlungsmethoden aktivieren

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_behalf_of auf die ID eines verbundenen Kontos setzen, um dieses Konto zum Abwicklungshändler für die Zahlung zu machen. Bei Verwendung von on_behalf_of:

  • 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_behalf_of weggelassen wird, ist die Plattform das für die Zahlung verantwortliche Unternehmen.

Vorsicht

Der Parameter on_behalf_of 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_payments oder andere Zahlungsfunktionen anfordern.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=10000 \ -d currency=usd \ -d "automatic_payment_methods[enabled]"=true \ -d on_behalf_of=
{{CONNECTED_ACCOUNT_ID}}
\ -d transfer_group=ORDER100

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:

  1. Der Kunde/die Kundin zahlt 100 USD.
  2. Stripe erhebt eine Gebühr von 3,20 USD und fügt die verbleibenden 96,80 USD dem ausstehenden Guthaben des Plattformkontos hinzu.
  3. Die Plattform überweist 70 USD auf das verbundene Konto des Restaurants und 20 USD auf das verbundene Konto des Fahrers/der Fahrerin.
  4. Eine Plattformgebühr von 6,80 USD verbleibt auf dem Plattformkonto.
So teilen Sie eine Zahlung in Gebühren für das Plattformkonto und Übertragungen für die verbundenen Konten auf

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_transaction-Parameter angeben. Mit einer source_transaction 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_group hat, weist Stripe denselben Wert der transfer_group der Übertragung zu. Ist dies nicht der Fall, generiert Stripe eine Zeichenfolge im Format group_ plus der zugehörigen PaymentIntent-ID, zum Beispiel: group_pi_2NHDDD589O8KAxCG0179Du2s. Diese Zeichenfolge wird sowohl für die Zahlung als auch für die Überweisung als transfer_group zugewiesen.

Notiz

Sie müssen die source_transaction angeben, wenn Sie eine Übertragung erstellen. Sie können dieses Attribut später nicht aktualisieren.

Command Line
cURL
curl https://api.stripe.com/v1/transfers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=7000 \ -d currency=usd \ -d source_transaction=
{{CHARGE_ID}}
\ -d destination=
{{CONNECTED_ACCOUNT_ID}}

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_intent in der Anfrage angeben. Diese Methode gibt vollständige Daten für alle Zahlungen zurück, die mit dem PaymentIntent verknüpft sind.

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_transaction erstellen, solange die Summe der Überweisungen die zugrunde liegende Zahlung nicht übersteigt.
  • 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_group für Sie.
  • 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_transaction. Warten Sie stattdessen, bis ein charge.succeeded-Ereignis ausgelöst wird, bevor Sie die Gelder überweisen. Wenn Sie bei diesen Zahlungen source_transaction verwenden, müssen Sie Funktionen zum Umgang mit Zahlungsfehlern implementieren.

Wenn eine als source_transaction 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_transaction 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.

Command Line
cURL
curl https://api.stripe.com/v1/refunds \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d charge=
{{CHARGE_ID}}

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.

Command Line
cURL
curl https://api.stripe.com/v1/transfers/
{{TRANSFER_ID}}
/reversals
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=7000

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.

Siehe auch

  • Mit mehreren Währungen arbeiten
  • Zahlungsbeschreibungen mit Connect
  • Informationen zu Connect-Kontoguthaben
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