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
    Übersicht
    Optionen für die Integration von Zahlungsmethoden
    Standardzahlungsmethoden im Dashboard verwalten
    Arten von Zahlungsmethoden
    Karten
    Mit Stripe-Guthaben bezahlen
    Krypto
    Lastschriften
      ACH Direct Debit
      BACS-Lastschriftverfahren
      Vorab autorisierte Lastschriften in Kanada
      BECS-Lastschriftverfahren (Australien)
      BECS-Lastschriftverfahren in Neuseeland
        Zahlung annehmen
        Bankverbindung speichern
        Migration von einem anderen Zahlungsabwickler
      SEPA-Lastschrift
    Bank Redirect
    Banküberweisungen
    Überweisungen (Sources)
    Jetzt kaufen, später bezahlen
    Zahlungen in Echtzeit
    Gutscheine
    Geldbörsen
    Lokale Zahlungsmethoden nach Land aktivieren
    Nutzerdefinierte Zahlungsmethoden
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsschnittstellen
Payment Links
Checkout
Web Elements
In-App-Elements
Zahlungsszenarien
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
Andere Stripe-Produkte
Financial Connections
Krypto
Climate
StartseiteZahlungenAdd payment methodsBank debitsNew Zeland BECS Direct Debit

Zahlungen per BECS-Lastschriftverfahren in Neuseeland annehmen

Erstellen Sie ein nutzerdefiniertes Zahlungsformular, um Zahlungen mit neuseeländischen Banklastschriften anzunehmen.

Seite kopieren

Wenn Sie auf Ihrer Website Zahlungen per neuseeländischem BECS-Lastschriftverfahren annehmen möchten, müssen Sie ein Objekt erstellen, um eine Zahlung zu verfolgen, Informationen zur Zahlungsmethode und eine Mandatsbestätigung erfassen und die Zahlung zur Verarbeitung an Stripe weiterleiten.

Stripe verwendet ein Zahlungsobjekt, den Payment Intent, zur Dokumentation und Verarbeitung aller Zahlungsstatus bis zum Zahlungsabschluss.

Stripe einrichten
Serverseitig

Zunächst benötigen Sie ein Stripe-Konto. Jetzt registrieren.

Nutzen Sie unsere offiziellen Bibliotheken für den Zugriff auf die Stripe-API aus Ihrer Anwendung heraus:

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'

Kund/innen erstellen oder abrufen
Serverseitig

Um ein Bankkonto für zukünftige Zahlungen wiederzuverwenden, fügen Sie es einem/einer Kund/in hinzu.

Erstellen Sie ein Customer-Objekt, wenn Ihre Kund/innen ein Konto bei Ihrem Unternehmen anlegen. Wenn Sie die ID des Customer-Objekts mit Ihrer eigenen Darstellung eines/einer Kund/in verknüpfen, können Sie später die gespeicherten Angaben zur Zahlungsmethode abrufen und verwenden.

Legen Sie neue Kund/innen an oder rufen Sie bestehende Kund/innen ab, um sie mit dieser Zahlung zu verknüpfen. Fügen Sie den folgenden Code auf Ihrem Server hinzu, um neue Kund/innen zu erstellen.

Command Line
cURL
curl -X POST https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

PaymentIntent erstellen
Serverseitig

Ein PaymentIntent ist ein Objekt, das Ihre Absicht darstellt, eine Zahlung von einer Kundin/einem Kunden einzuziehen, und das den Lebenszyklus des Zahlungsprozesses in jeder Phase verfolgt.

Erstellen Sie zunächst einen PaymentIntent auf Ihrem Server und geben Sie den einzuziehenden Betrag und die Währung nzd an. Falls Sie bereits über eine Integration verfügen, die die Payment Intents API verwendet, fügen Sie der Liste der Zahlungsmethoden für Ihren PaymentIntent nz_bank_account hinzu. Geben Sie die ID der Kundin/des Kunden an.

Geben Sie auch den Parameter setup_future_usage mit dem Wert off_session an, um die Zahlungsmethode für den Kunden/die Kundin für die spätere Verwendung zu speichern.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Version: 2025-05-28.basil; nz_bank_account_beta=v2" \ -d "payment_method_types[]"=nz_bank_account \ -d customer=
{{CUSTOMER_ID}}
\ -d amount=1099 \ -d currency=nzd \ -d setup_future_usage=off_session

Im zurückgegebenen PaymentIntent ist ein Client-Geheimnis enthalten. Die Client-Seite verwendet dieses, um den Zahlungsvorgang sicher abzuschließen, anstatt das gesamte PaymentIntent-Objekt zu übergeben. Sie können das Client-Geheimnis auf verschiedene Weise an die Client-Seite übergeben.

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 })();

Angaben zur Zahlungsmethode und Mandatsbestätigung erfassen
Clientseitig

Stripe Elements einrichten

Fügen Sie das Stripe.js-Skript auf Ihrer Bezahlseite ein, indem sie es zum head Ihrer HTML-Datei hinzufügen. Laden Sie Stripe.js immer direkt von js.stripe.com. Fügen Sie das Skript nicht in ein Bundle 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 eine Instanz des Stripe-Objekts und geben Sie dabei Ihren veröffentlichbaren API-Schlüssel als ersten Parameter an. Übergeben Sie zusätzlich das Beta-Flag nz_bank_account_beta_2, um auf die Elements zuzugreifen:

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'
, { betas: ['nz_bank_account_beta_2'], apiVersion: "2025-05-28.basil;nz_bank_account_beta=v2" });

Payment Element zu Ihrer Checkout-Seite hinzufügen

Erstellen Sie auf Ihrer Bezahlseite einen leeren DOM-Knoten mit einer eindeutigen ID für das Payment Element, das gerendert werden soll.

checkout.html
<form id="payment-form"> <h3>Payment</h3> <div id="payment-element"></div> <button id="submit">Submit</button> </form>

Wenn das obige Formular geladen ist, erstellen Sie eine neue Elements-Gruppe, wobei Sie das Client-Geheimnis aus dem vorherigen Schritt als Konfiguration übergeben. Sie können auch die Erscheinungsbildoption übergeben und so die Elements an das Design Ihrer Website anpassen.

Erstellen Sie dann eine Instanz des Payment Element und verbinden Sie es mit dem entsprechenden DOM-Knoten.

checkout.js
// Customize the appearance of Elements using the Appearance API. const appearance = { /* ... */ }; // Create an elements group from the Stripe instance, passing the clientSecret (obtained in step 2) and appearance (optional). const elements = stripe.elements({clientSecret, appearance}); // Create Payment Element instance. const paymentElement = elements.create("payment"); // Mount the Payment Element to its corresponding DOM node. paymentElement.mount("#payment-element");

Das Payment Element stellt ein dynamisches Formular dar, mit dem Ihre Kundinnen/Kunden eine Zahlungsmethode auswählen können. Das Formular erfasst automatisch alle erforderlichen Zahlungsdaten für die von ihnen ausgewählte Zahlungsmethode. Bei BECS-Lastschriftzahlungen in Neuseeland sind dies der Kundenname, die E-Mail-Adresse und die Bankkontonummer.

Mandatsbestätigung

Das Payment Element zeigt Ihren Kundinnen/Kunden auch die allgemeinen Geschäftsbedingungen für Zahlungen über das BECS-Lastschriftverfahren in Neuseeland an und fordert ihre Zustimmung zu diesen Bedingungen an. Sie müssen nichts weiter tun.

Wenn Sie das Payment Element nicht verwenden, müssen Sie diese allgemeinen Geschäftsbedingungen Ihren Kundinnen/Kunden gesondert anzeigen und ihr Einverständnis einholen.

Notiz

Indem Sie Ihre Bankkontodaten bereitstellen und diese Zahlung bestätigen, ermächtigen Sie Stripe New Zealand Limited (Autorisierungscode 3143978), Ihr Konto gemäß dieser Einzugsermächtigung mit den an Rocket Rides („wir“, „uns“ oder „Händler“) zu zahlenden Lastschriftbeträgen zu belasten.

Sie stimmen zu, dass sich diese Ermächtigung auf Folgendes bezieht:

  • Die AGB Ihrer Bank Ihr Konto betreffend, und
  • die AGB des Lastschriftverfahrens

Sie bestätigen, dass Sie entweder alleiniger Inhaber/alleinige Inhaberin des oben genannten Kontos sind oder ein autorisierter Zeichnungsberechtigter/eine autorisierte Zeichnungsberechtigte und die Berechtigung haben, als Einzelperson über dieses Bankkonto zu verfügen.

Wir senden Ihnen nach Ihrer Bestätigung dieser Einzugsermächtigung innerhalb von fünf Werktagen eine Bestätigung per E-Mail.

Wenn wir Sie dazu auffordern, müssen Sie Stripe unverzüglich einen Nachweis der Mandate vorlegen.

OptionalErscheinungsbild anpassen
Clientseitig

Zahlung an Stripe senden
Clientseitig

Verwenden Sie stripe.confirmPayment, um Bankkontodaten zu erfassen, eine PaymentMethod zu erstellen und diese PaymentMethod dem PaymentIntent hinzuzufügen.

Bei einigen anderen Zahlungsmethoden wird Ihre Kundin/Ihr Kunde möglicherweise zuerst auf eine Zwischenseite (z. B. eine Bankautorisierungsseite) weitergeleitet, bevor die Weiterleitung zur return_url erfolgt. Geben Sie eine return_url für diese Funktion an, um zu signalisieren, wohin Stripe die Kundinnen/Kunden weiterleiten soll, nachdem die Zahlung abgeschlossen ist.

Da für BECS-Lastschriftzahlungen in Neuseeland keine Weiterleitung erforderlich ist, können Sie die Weiterleitung auch auf if_required festlegen, statt eine return_url anzugeben. Eine return_url müssen Sie nur angeben, wenn Sie später eine weitere Zahlungsmethode hinzufügen, die eine Weiterleitung erfordert.

script.js
confirmationForm.addEventListener('submit', (ev) => { ev.preventDefault(); stripe.confirmPayment({elements, redirect: "if_required"}) .then(({paymentIntent, error}) => { if (error) { console.error(error.message); // The confirmation failed for some reason. } else if (paymentIntent.status === "requires_payment_method") { // Confirmation failed. Attempt again with a different payment method. } else if (paymentIntent.status === "processing") { // Confirmation succeeded! The account will be debited. // Display a message to the customer. } }); });

Bei Erfolg gibt Stripe ein PaymentIntent-Objekt mit dem Status processing zurück. Im nächsten Schritt finden Sie Informationen zum Bestätigen eines erfolgreichen PaymentIntent.

Benachrichtigungs-E-Mails für Kundinnen/Kunden

Nach erfolgreicher Bestätigung des PaymentIntent müssen Sie eine Bestätigung des Mandats und der erfassten Bankkontodaten per E-Mail an Ihre Kundin/Ihren Kunden senden.

Darüber hinaus müssen Sie Ihrer Kundin/Ihrem Kunden für jede eingezogene Zahlung, einschließlich dieser, spätestens am Tag der Abbuchung eine Benachrichtigung mit dem Abbuchungsdatum und -betrag senden.

Stripe übernimmt standardmäßig das Versenden dieser E-Mails für Sie, aber Sie können nutzerdefinierte Benachrichtigungen senden.

Erfolgreichen PaymentIntent bestätigen
Serverseitig

Das BACS-Lastschriftverfahren in Neuseeland ist eine Zahlungsmethode mit verzögerter Benachrichtigung. Darüber hinaus müssen Sie Ihre Kundinnen/Kunden spätestens am Tag der Abbuchung über jede eingezogene Zahlung von dem Bankkonto informieren.

Die Benachrichtigung über den erfolgreichen oder fehlgeschlagenen PaymentIntent erfolgt innerhalb von 3 Werktagen danach. Wenn die Zahlung erfolgreich ist, ändert sich der PaymentIntent-Status von processing in succeeded.

Die folgenden Ereignisse werden übermittelt, wenn sich der PaymentIntent-Status ändert:

EreignisBeschreibungNächster Schritt
payment_intent.processingDer/die Kund/in hat die Zahlung erfolgreich an Stripe übermittelt.Warten Sie, bis die initiierte Zahlung erfolgt oder fehlschlägt.
payment_intent.succeededDie Kundenzahlung war erfolgreich.Führen Sie die Bestellung der gekauften Waren oder Dienstleistungen aus.
payment_intent.payment_failedDie Zahlung der Kundin/des Kunden wurde abgelehnt.Senden Sie dem/der Kund/in eine E-Mail oder Push-Benachrichtigung und fordern Sie eine andere Zahlungsmethode an.

Wir empfehlen die Verwendung von Webhooks, um die erfolgreiche Zahlung zu bestätigen und die Kundinnen/Kunden zu informieren, dass die Zahlung abgeschlossen ist. Sie können sich Ereignisse auch im Stripe-Dashboard anzeigen lassen.

Künftige Zahlungen annehmen
Serverseitig

Nachdem der PaymentIntent für eine/n angegebene/n Kunden/Kundin erfolgreich war und der Parameter setup_future_usage auf off_session gesetzt wurde, wird die PaymentMethod PaymentMethod dem Kunden/der Kundin zugeordnet. Hiermit können Sie zukünftige Zahlungen veranlassen, ohne den Kunden/die Kundin ein zweites Mal nach seinem/ihrem Bankkonto fragen zu müssen.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Version: 2025-05-28.basil; nz_bank_account_beta=v2" \ -d "payment_method_types[]"=nz_bank_account \ -d customer=
{{CUSTOMER_ID}}
\ -d payment_method=
{{PAYMENT_METHOD_ID}}
\ -d confirm=true \ -d amount=100 \ -d currency=nzd \ -d off_session=true

Integration testen

Testkontonummern

In einer Sandbox können Sie die folgenden Parameter verwenden, um bestimmte Fehler zu simulieren.

Testen Sie Ihr Formular mit der Bankleitzahl 11, dem Filialcode 0000 und einer der folgenden Kontonummern.

KontonummerBeschreibung
0000000010Der PaymentIntent-Status wechselt von processing zusucceeded. Der Mandatsstatus bleibt active.
2222222027Der PaymentIntent-Status wechselt von processing zu requires_payment_method mit dem Fehlercode insufficient_funds. Der Mandatsstatus bleibt active.
8888888000Der PaymentIntent-Status wechselt von processing zu requires_payment_method mit dem Fehlercode refer_to_customer. Der Mandatsstatus bleibt active.
1111111016Der PaymentIntent-Status wechselt von processing zu requires_payment_method mit dem Fehlercode no_account. Der Mandatsstatus wird zu inactive.
5555555059Der PaymentIntent-Status wechselt von processing zu requires_payment_method mit dem Fehlercode debit_not_authorized. Der Mandatsstatus wird zu inactive.
9999999000Der Status des PaymentIntent wechselt zu processing und verbleibt dort. Verwenden Sie für weitere Übergänge eine API-Anfrage wie unten beschrieben.

OptionalAbbuchungsdatum für Kunde/Kundin konfigurieren

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