Zahlungen per BECS-Lastschriftverfahren in Neuseeland annehmen
Erstellen Sie ein nutzerdefiniertes Zahlungsformular, um Zahlungen mit neuseeländischen Banklastschriften anzunehmen.
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 einrichtenServerseitig
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:
Kund/innen erstellen oder abrufenServerseitig
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.
PaymentIntent erstellenServerseitig
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_
hinzu. Geben Sie die ID der Kundin/des Kunden an.
Geben Sie auch den Parameter setup_future_usage mit dem Wert off_
an, um die Zahlungsmethode für den Kunden/die Kundin für die spätere Verwendung zu speichern.
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.
Angaben zur Zahlungsmethode und Mandatsbestätigung erfassenClientseitig
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.
<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_
, um auf die Elements zuzugreifen:
// 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(
, { betas: ['nz_bank_account_beta_2'], apiVersion: "2025-05-28.basil;nz_bank_account_beta=v2" });'pk_test_TYooMQauvdEDq54NiTphI7jx'
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.
<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.
// 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.
Zahlung an Stripe sendenClientseitig
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_
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_
festlegen, statt eine return_
anzugeben. Eine return_
müssen Sie nur angeben, wenn Sie später eine weitere Zahlungsmethode hinzufügen, die eine Weiterleitung erfordert.
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ätigenServerseitig
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:
Ereignis | Beschreibung | Nächster Schritt |
---|---|---|
payment_ | Der/die Kund/in hat die Zahlung erfolgreich an Stripe übermittelt. | Warten Sie, bis die initiierte Zahlung erfolgt oder fehlschlägt. |
payment_ | Die Kundenzahlung war erfolgreich. | Führen Sie die Bestellung der gekauften Waren oder Dienstleistungen aus. |
payment_ | Die 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 annehmenServerseitig
Nachdem der PaymentIntent für eine/n angegebene/n Kunden/Kundin erfolgreich war und der Parameter setup_future_usage auf off_
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.
Integration testen
Testkontonummern
In einer Sandbox können Sie die folgenden Parameter verwenden, um bestimmte Fehler zu simulieren.