Eine Banküberweisung annehmen
Verwenden Sie die Payment Intents API, um Zahlungen per Banküberweisung anzunehmen.
Wenn Sie zum ersten Mal eine Zahlung per Banküberweisung von einem Kunden/einer Kundin annehmen, generiert Stripe ein virtuelles Bankkonto für diesen Kunden/diese Kundin, das Sie dann direkt mit ihm/ihr teilen können. Alle zukünftigen Zahlungen per Banküberweisung von diesem Kunden/dieser Kundin werden an dieses Bankkonto gesendet. In einigen Ländern stellt Ihnen Stripe auch eine eindeutige Überweisungsreferenznummer zur Verfügung, die Ihre Kund/innen bei jeder Überweisung angeben sollten, um den Abgleich der Überweisung mit ausstehenden Zahlungen zu erleichtern. Beachten Sie, dass in einigen Ländern die Anzahl virtueller Bankkontonummern, die Sie kostenlos erstellen können, begrenzt ist.
Eine Übersicht über die üblichen Schritte bei der Annahme einer Zahlung per Banküberweisung finden Sie im folgenden Sequenzdiagramm:
Umgang mit Unter- und Überzahlungen
Bei Banküberweisungen ist es möglich, dass die/der Kunde/Kundin Ihnen mehr oder weniger als den erwarteten Zahlungsbetrag sendet. Wenn die/der Kunde/Kundin zu wenig sendet, finanziert Stripe eine offene Zahlung teilweise. Rechnungen werden nicht teilweise finanziert und bleiben offen, bis das eingehende Geld den vollen Rechnungsbetrag deckt.
Wenn die/der Kunde/Kundin mehr als den erwarteten Betrag sendet, versucht Stripe, die eingehenden Gelder mit einer offenen Zahlung abzugleichen und den verbleibenden überschüssigen Betrag in der Kundenbilanz zu behalten. Erfahren Sie mehr darüber, wie Stripe den Abgleich handhabt.
Umgang mit mehreren offenen Zahlungen oder Rechnungen
Möglicherweise haben Sie mehrere offene Zahlungen oder Rechnungen, die per Banküberweisung bezahlt werden können. Als Standardeinstellung versucht Stripe, die Banküberweisung automatisch abzugleichen. Dazu verwenden wir Informationen wie den Referenzcode der Überweisung oder den überwiesenen Betrag.
Sie können den automatischen Abgleich deaktivieren und Zahlungen und Rechnungen selbst manuell abgleichen. Sie können das automatische Abgleichsverhalten pro Kunde/Kundin außer Kraft setzen, indem Sie den Abgleichsmodus auf manuell festlegen.
Stripe einrichtenServerseitig
Zunächst benötigen Sie ein Stripe-Konto. Registrieren Sie sich jetzt.
Nutzen Sie unsere offiziellen Bibliotheken für den Zugriff auf die Stripe-API über Ihre Anwendung:
Kund/innen erstellen oder abrufenServerseitig
Sie müssen ein Kundenobjekt zuordnen, um jede Banküberweisungszahlung abzugleichen. Wenn Sie bereits über ein Kundenobjekt verfügen, können Sie diesen Schritt überspringen. Erstellen Sie andernfalls ein neues Kundenobjekt.
PaymentIntent erstellen und bestätigenServerseitig
Ein PaymentIntent ist ein Objekt, das Ihre Absicht zur Einziehung einer Kundenzahlung darstellt und den Zahlungsvorgang in jeder Phase verfolgt. Erstellen und bestätigen Sie einen PaymentIntent auf dem Server und geben Sie den Betrag und die Währung an, die Sie einziehen möchten. Außerdem müssen Sie den Kundenparameter der PaymentIntent-Erstellungsanfrage ausfüllen. Banküberweisungen sind bei PaymentIntents ohne eine Kundin/einen Kunden nicht verfügbar.
Kund/innen anweisen, eine Banküberweisung durchzuführenClientseitig
Wenn der Kundensaldo nicht ausreicht, um den angeforderten Betrag zu decken, zeigt der PaymentIntent den Status requires_
an. Die Antwort enthält das Feld next_
mit dem Wert display_
als type
. Der Hash next_
enthält Informationen, die Sie Ihren Kundinnen/Kunden anzeigen sollten, damit sie die Überweisung durchführen können. Um die Abwicklung von Geldern zu gewährleisten, weisen Sie Ihre Kundinnen/Kunden an, genau die angegebenen Details zu verwenden, insbesondere den Kontonamen und gegebenenfalls die Kontonummer.
Notiz
Im Live-Modus stellt Stripe jedem Kunden/jeder Kundin einen eindeutigen Satz von Banküberweisungsdaten zur Verfügung. Im Gegensatz dazu bietet Stripe allen Kundinnen und Kunden in Testumgebungen ungültige Banküberweisungsdaten an. Anders als beim Live-Modus sind diese ungültigen Details möglicherweise nicht immer eindeutig.
Erfolgreiche PaymentIntent bestätigen
Die PaymentIntent verbleibt im Status requires_
, bis Gelder auf dem Bankkonto eingehen. Wenn die Gelder bereit sind, wird der PaymentIntent-Status von requires_
auf succeeded
aktualisiert.
Ihr Webhook-Endpoint muss so eingerichtet werden, dass er das Ereignis payment_
empfängt.
Sie können einen Webhook über das Dashboard hinzufügen.
Alternativ können Sie die Webhook Endpoints API verwenden, um das Ereignis payment_intent.partially_funded zu empfangen.
Stripe sendet die folgenden Ereignisse während des Zahlungsablaufs, wenn wir den PaymentIntent aktualisieren.
Ereignis | Beschreibung | Nächste Schritte |
---|---|---|
payment_ | Wird bei der Bestätigung gesendet, wenn das Kundenguthaben für den Abgleich der PaymentIntent nicht ausreicht. Die PaymentIntent wechselt zu requires_ . | Weisen Sie Ihre Kund/innen an, eine Banküberweisung mit dem amount_ zu senden. |
payment_ | Eine Kundenüberweisung wurde auf die PaymentIntent angewendet. Dies reichte aber nicht aus, um die Zahlung abzuschließen. Das kann passieren, wenn (aufgrund einer irrtümlichen Unterzahlung oder wegen von der Bank erhobenen Gebühren) zu wenig überwiesen wurde oder weil ein verbliebener Kundensaldo auf diese PaymentIntent angewendet wurde. PaymentIntents, die teilweise finanziert sind, werden erst in Ihrem Konto angezeigt, wenn die Zahlung abgeschlossen ist. | Weisen Sie eine weitere Kundenüberweisung mit dem neuen amount_ an, um die Zahlung abzuschließen. Wenn Sie die Zahlung mit den teilweise zugewiesenen Mitteln abschließen möchten, können Sie den amount aktualisieren und den PaymentIntent erneut bestätigen bestätigen. |
payment_ | Die Kundenzahlung war erfolgreich. | Wickeln Sie die Bestellung des/der Kund/in ab. |
Vorsicht
Wenn Sie den Betrag eines teilweise finanzierten PaymentIntent ändern, werden die Gelder dem Kundenguthaben wieder gutgeschrieben. Wenn andere PaymentIntents offen sind, finanziert Stripe diese automatisch. Wenn der Kunde/die Kundin für den manuellen Abgleich konfiguriert ist, müssen Sie die Gelder erneut zuweisen.
Wir empfehlen die Verwendung von Webhooks, um die erfolgreiche Abbuchung zu bestätigen und die Kundinnen/Kunden zu informieren, dass die Zahlung abgeschlossen ist.
Beispielcode
Ausstehende Zahlungen im Dashboard anzeigen
Sie können alle ausstehenden PaymentIntents für Banküberweisungen im Dashboard anzeigen, indem Sie den Filter Auf Finanzierung warten auf den Status anwenden.
Integration testen
Sie können Ihre Integration testen, indem Sie eine eingehende Überweisung über das Dashboard oder eine HTTP-Anfrage simulieren.
Mit dem Dashboard
Um eine Banküberweisung mit dem Dashboard in einer sandbox zu simulieren, gehen Sie auf die Seite der Kundin oder des Kunden im Dashboard. Klicken Sie unter Zahlungsmethoden auf Hinzufügen und wählen Sie Geld überweisen (nur Test).
Mit der Stripe-API
Sie können einen API-Aufruf durchführen, um eine Banküberweisung zu simulieren.
Umgang mit vorübergehenden Verfügbarkeitsproblemen
Die folgenden Fehlercodes weisen auf vorübergehende Probleme mit der Verfügbarkeit der Zahlungsmethode hin:
Code | Beschreibung | Handling |
---|---|---|
payment_ | Für diese Zahlungsmethode, die strengeren Grenzwerten als den API-weiten Ratenbegrenzungen unterliegt, wurden in kurzer Zeit zu viele Anfragen gestellt. | Diese Fehler können bei mehreren API-Anforderungen weiterhin auftreten, wenn viele Ihrer Kund/innen versuchen, dieselbe Zahlungsmethode zu verwenden (z. B. während eines laufenden Verkaufs auf Ihrer Website). Bitten Sie in diesem Fall Ihre Kund/innen, eine andere Zahlungsmethode auszuwählen. |
Vorsicht
Wenn Sie allgemein oder aufgrund eines bevorstehenden Ereignisses starke Nutzung erwarten, kontaktieren Sie uns, sobald Sie davon erfahren.
OptionalZahlungsmethoden von Ihren Kund/innen erfassen
Erfassen Sie gegebenenfalls die bevorzugte Finanzierungsart Ihrer Kundin/Ihres Kunden auf Ihrer Website und bestätigen Sie die Zahlungsabsicht mit der Methode confirmCustomerBalancePayment für Stripe.js.
Zeigen Sie ein HTML-Formular an, um die bevorzugten Details für Banküberweisung zu erfassen. Füllen Sie mit dieser Eingabe die payment_
aus.
Eine vollständige Liste der verfügbaren payment_
-Parameter für confirmCustomerBalancePayment
finden Sie in der JS-Referenzdokumentation.
Hier ist ein Anwendungsszenario: Wenn Sie Händler/in in Irland sind und sich nicht sicher sind, in welchem Land sich eine Kundin/ein Kunde befindet, können Sie einen PaymentIntent
mit payment_
zuerst auf ‘IE’ setzen. Verwenden Sie dann die Methode confirmCustomerBalancePayment, um das Land basierend auf den Nutzereingaben zu aktualisieren.
Beispielcode
const {paymentIntent, error} = await stripe.confirmCustomerBalancePayment( '{PAYMENT_INTENT_CLIENT_SECRET}', { payment_method: { customer_balance: { }, }, payment_method_options: { customer_balance: { funding_type: 'bank_transfer', bank_transfer: { type: 'eu_bank_transfer', eu_bank_transfer: { country: 'FR', } }, }, }, }, { handleActions: false, } ); if (error) { // Inform the customer that there was an error. } else if (paymentIntent.status === 'requires_payment_method') { // If `payment_method_options.funding_type` wasn't set this // is where you would need to handle the insufficient customer // balance state. } else if (paymentIntent.status === 'requires_action') { // If the current customer balance is insufficient to cover // the amount, and you've passed // `payment_method_options.funding_type` for funding the // customer balance, you can display the bank transfer // instructions to your user. if (paymentIntent.next_action.type === 'display_bank_transfer_instructions') { // Bank transfer details can be found under: // paymentIntent.next_action.display_bank_transfer_instructions } }
OptionalZahlungsanweisungen per E-Mail senden
Sie können E-Mails mit Zahlungsanweisungen für Banküberweisungen über das Dashboard aktivieren. Nachdem Sie Zahlungsanweisungen per E-Mail aktiviert haben, sendet Stripe Ihrem Kunden/Ihrer Kundin in folgenden Fällen eine E-Mail:
- Ein PaymentIntent wird bestätigt, aber der/die Kund/in verfügt nicht über ausreichende Deckung.
- Der/die Kund/in sendet eine Banküberweisung, verfügt jedoch nicht über ausreichende Deckung, um die ausstehenden Zahlungen abzuschließen.
Eine E-Mail mit Zahlungsanweisungen für Banküberweisungen enthält den fälligen Betrag, die Bankinformationen für die Überweisung und einen Link zur von Stripe gehosteten Anweisungsseite.
Notiz
In einer Sandbox werden E-Mails mit Zahlungsanweisungen nur an E-Mail-Adressen gesendet, die mit dem Stripe-Konto verknüpft sind.