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 Zahlungen per Banküberweisung ist es möglich, dass Sie mehr oder weniger als den erwarteten Zahlungsbetrag erhalten. Wird zu wenig überwiesen, übernimmt Stripe zum Teil die Finanzierung eines offenen Payment Intent. Rechnungen werden jedoch nicht teilfinanziert und bleiben offen, bis die eingehenden Gelder den vollständigen Rechnungsbetrag decken.
Wenn der Kunde/die Kundin mehr als den erwarteten Betrag sendet, versucht Stripe, die eingehenden Gelder mit einer offenen Zahlung abzugleichen und den verbleibenden überschüssigen Betrag im Barguthaben des Kunden/der Kundin zu halten. Weitere Einzelheiten zu unserem Umgang mit dem Abgleich finden Sie im entsprechenden Abschnitt unserer Dokumentation.
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. Jetzt registrieren.
Verwenden Sie unsere offiziellen Bibliotheken für den Zugriff auf die Stripe-API über Ihre Anwendung:
Kunden erstellen und 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 erstellenServerseitig
A PaymentIntent is an object that represents your intent to collect payment from a customer and tracks the lifecycle of the payment process through each stage. Create a PaymentIntent on the server, specifying the amount and currency you want to collect. You must also populate the customer parameter of the PaymentIntent creation request. Bank transfers aren’t available on PaymentIntents without a customer.
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.
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 bereit sind, Live-Zahlungen zu akzeptieren.
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.
Nach der Bestätigung öffnet Stripe automatisch ein Modal, um die Überweisungsdaten anzuzeigen.
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. Umleitungen führen dazu, 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.
Erfolgreichen 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. Wenn der PaymentIntent teilweise finanziert ist, verbleibt der Status auf requires_
.
Sie können einen Webhook über das Dashboard hinzufügen.
Alternatively, you can use the Webhook Endpoints API to start receiving the payment_intent.partially_funded event.
Vorsicht
Das Auslösen von Ereignissen in der Beta-API-Version, wie payment_
, wird von der Stripe-CLI nicht unterstützt.
Die folgenden Ereignisse werden während des Zahlungsflusses gesendet, wenn die PaymentIntent aktualisiert wird.
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 eine Kundenüberweisung mit dem amount_ an. |
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. | Führen Sie den Waren- bzw. Dienstleistungsauftrag aus. |
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 Warten auf Finanzierung auf Status anwenden.
Integration testen
Sie können Ihre Integration testen, indem Sie eine eingehende Banküberweisung mit der API, dem Dashboard oder einer Beta-Version der Stripe-CLI 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.