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)
        Zahlung annehmen
        Bankverbindung speichern
      BECS-Lastschriftverfahren in Neuseeland
      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 debitsAustralia BECS Direct Debit

Zahlungen per BECS-Lastschriftverfahren in Australien annehmen

So nehmen Sie australische BECS-Lastschriftzahlungen an.

Seite kopieren

Funktionsweise

Weitere Informationen zu dieser Zahlungsmethode finden Sie in der BECS-Lastschriftübersicht.

Stripe-Nutzer/innen in Australien können das Payment Element und eine Zahlungsabsicht verwenden, um BECS-Lastschriftzahlungen von Kundinnen/Kunden mit einem AU-Bankkonto zu initiieren.

Vorsicht

Wir empfehlen Ihnen, den Leitfaden Zahlung akzeptieren zu befolgen, es sei denn, Sie müssen eine manuelle serverseitige Bestätigung verwenden oder Ihre Integration erfordert die separate Angabe von Zahlungsmethoden. Wenn Sie Elements bereits integriert haben, lesen Sie den Migrationsleitfaden für Payment Element.

Mit der vorkonfigurierten Stripe-Benutzeroberfläche zur Erfassung von BECS-Lastschriftdaten AuBECSDebitForm können Sie Zahlungsformulare zur sicheren Erfassung von Bankverbindungen erstellen, ohne vertrauliche Kundendaten selbst handhaben zu müssen. Die Zahlungsannahme per BECS-Lastschriftverfahren in Ihrer Anwendung beinhaltet die folgenden Schritte:

  • Objekt zur Zahlungsverfolgung erstellen
  • Angaben zur Zahlungsmethode und Mandatsbestätigung erfassen
  • Zahlung zur weiteren Verarbeitung an Stripe übermitteln

Stripe-Nutzer/innen in Australien können AuBECSDebitForm und einen PaymentIntent für die Annahme von Kundenzahlungen per BECS-Lastschriftverfahren über australische Bankkonten verwenden.

Stripe einrichten
Serverseitig
Clientseitig

Serverseitig

Diese Integration erfordert Endpoints auf Ihrem Server, die mit der Stripe-API kommunizieren können. Nutzen Sie unsere offiziellen Bibliotheken für den Zugriff auf die Stripe-API von Ihrem Server aus:

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'

Clientseitig

Das React Native SDK ist Open Source und vollständig dokumentiert. Intern werden native iOS und Android SDKs verwendet. Um das React Native SDK von Stripe zu installieren, führen Sie einen der folgenden Befehle im Verzeichnis Ihres Projekts aus (je nachdem, welchen Paket-Manager Sie verwenden):

Command Line
yarn add @stripe/stripe-react-native

Installieren Sie als Nächstes einige weitere erforderliche Abhängigkeiten:

  • Navigieren Sie für iOS zum Verzeichnis ios und führen Sie pod install aus, um sicherzustellen, dass Sie auch die erforderlichen nativen Abhängigkeiten installieren.
  • Für Android müssen keine Abhängigkeiten mehr installiert werden.

Stripe Initialisierung

Um Stripe in Ihrer React Native-App zu initialisieren, umschließen Sie entweder Ihren Zahlungsbildschirm mit der Komponente StripeProvider oder verwenden Sie die Initialisierungsmethode initStripe. Nur der veröffentlichbare API-Schlüssel in publishableKey ist erforderlich. Das folgende Beispiel zeigt, wie Stripe mithilfe der Komponente StripeProvider initialisiert wird.

import React, { useState, useEffect } from 'react'; import { StripeProvider } from '@stripe/stripe-react-native'; function App() { const [publishableKey, setPublishableKey] = useState(''); const fetchPublishableKey = async () => { const key = await fetchKey(); // fetch key from your server here setPublishableKey(key); }; useEffect(() => { fetchPublishableKey(); }, []); return ( <StripeProvider publishableKey={publishableKey} merchantIdentifier="merchant.identifier" // required for Apple Pay urlScheme="your-url-scheme" // required for 3D Secure and bank redirects > // Your app code here </StripeProvider> ); }

Notiz

Verwenden Sie Ihre API-Testschlüssel beim Testen und Entwickeln Ihrer App und Ihre Live-Modus-Schlüssel beim Veröffentlichen Ihrer App.

Angaben zur Zahlungsmethode und Mandatsbestätigung erfassen
Clientseitig

Mit der im SDK enthaltenen Drop-in-Nutzeroberflächenkomponente AuBECSDebitForm können Sie Zahlungsdaten zum BECD-Lastschriftverfahren in Australien sicher erfassen. AuBECSDebitForm stellt eine Nutzeroberfläche bereit, in der die Kundinnen/Kunden ihren Namen, ihre E-Mail-Adresse, die BSB-Nummer und die Kontonnummer eingeben können. Außerdem werden die Bedingungen des BECS-Lastschriftverfahrens in Australien angezeigt.

Fügen Sie die Komponente AuBECSDebitForm samt ihrem Firmennamen in die Benutzeroberfläche ein. Mit der Eigenschaft formStyle können Sie AuBECSDebitForm individuell an das Erscheinungsbild Ihrer Anwendung anpassen. Formulardetails erfassen Sie zum Zeitpunkt der Zahlungsbestätigung mit der Eigenschaft onComplete.

function PaymentScreen() { const [formDetails, setFormDetails] = useState< AuBECSDebitFormComponent.FormDetails >(); return ( <View> <AuBECSDebitForm onComplete={(value) => setFormDetails(value)} companyName="Example Company Inc." formStyle={{ textColor: '#000000', fontSize: 22, placeholderColor: '#999999', }} /> <Button title="Pay" variant="primary" onPress={handlePayPress} /> </View> ); }

Erstellen Sie ein PaymentIntent
Serverseitig

Serverseitig

Ein PaymentIntent ist ein Objekt, das Ihre Absicht, Zahlungen von Kundinnen/Kunden einzuziehen, darstellt und den gesamten Zahlungsvorgang dokumentiert. Erstellen Sie zunächst einen PaymentIntent auf Ihrem Server und geben Sie den einzuziehenden Betrag und die Währung aud an (das BECS-Lastschriftverfahren unterstützt keine anderen Währungen). 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 die Zahlungsmethode au_becs_debit hinzu.

Um ein BECS-Lastschriftkonto für eine erneute Verwendung zu speichern, legen Sie den Parameter setup_future_usage auf off_session fest. Das BECS-Lastschriftverfahren akzeptiert für diesen Parameter nur den Wert off_session.

Command Line
curl
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=1099 \ -d "setup_future_usage"="off_session" \ -d "currency"="aud" \ -d "customer"="{{CUSTOMER_ID}}" \ -d "payment_method_types[]"="au_becs_debit"

Nach Erstellen eines PaymentIntent gibt Stripe ein PaymentIntent-Objekt mit der Eigenschaft client_secret zurück. Übergeben Sie das Client-Geheimnis an die Client-Seite.

Achtung

Das Client-Geheimnis kann zum Belasten des/der Kund/in mit dem in dem PaymentIntent angegebenen Betrag genutzt werden. Es darf nicht protokolliert, in URLs eingebettet oder Personen außer den Kund/innen selbst zugänglich gemacht werden.

Clientseitig

Fordern Sie auf dem Client einen PaymentIntent von Ihrem Server an und speichern Sie sein Client-Geheimnis.

const fetchPaymentIntentClientSecret = async () => { const response = await fetch(`${API_URL}/create-payment-intent`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ currency: 'aud', payment_method_types: ['au_becs_debit'], }), }); const { clientSecret, error } = await response.json(); return { clientSecret, error }; };

Zahlung an Stripe senden
Clientseitig

Rufen Sie das Client-Geheimnis von der erstellten PaymentIntent ab und rufen Sie confirmPayment auf. Dies entspricht einer Webansicht, in der die Kund/innen die Zahlung auf der Website oder in der App ihrer Bank durchführen können. Anschließend wird das Promise mit dem Ergebnis der Zahlung aufgelöst.

function PaymentScreen() { const { confirmPayment, loading } = useConfirmPayment(); const [formDetails, setFormDetails] = useState< AuBECSDebitFormComponent.FormDetails >(); const handlePayPress = async () => { const { error, paymentIntent } = await confirmPayment(clientSecret, { paymentMethodType: 'AuBecsDebit', paymentMethodData: { formDetails, } }); if (error) { Alert.alert(`Error code: ${error.code}`, error.message); console.log('Payment confirmation error', error.message); } else if (paymentIntent) { if (paymentIntent.status === PaymentIntents.Status.Processing) { Alert.alert( 'Processing', `The debit has been successfully submitted and is now processing.` ); } else if (paymentIntent.status === PaymentIntents.Status.Succeeded) { Alert.alert( 'Success', `The payment was confirmed successfully! currency: ${paymentIntent.currency}` ); } else { Alert.alert('Payment status:', paymentIntent.status); } } }; return ( <View> <AuBECSDebitForm onComplete={(value) => setFormDetails(value)} companyName="Example Company Inc." formStyle={{ textColor: '#000000', fontSize: 22, placeholderColor: '#999999', }} /> <Button title="Pay" variant="primary" onPress={handlePayPress} /> </View> ); }

Erfolgreichen PaymentIntent bestätigen
Serverseitig

Bei BECS Direct Debit handelt es sich um eine Zahlungsmethode mit verzögerter Benachrichtigung, was bedeutet, dass das Geld nicht sofort verfügbar ist. Ein PaymentIntent mit BECS-Lastschriftverfahren verbleibt in der Regel 2 Geschäftstage nach Absenden ans BECS-Netzwerk im Bearbeitungsstatus. Die Übermittlung findet einmal am Tag statt. Ist die Zahlung erfolgreich, wird der Status des zugehörigen PaymentIntent von processing in succeeded aktualisiert.

Die folgenden Ereignisse werden übermittelt, wenn der PaymentIntent-Status aktualisiert wird:

EreignisBeschreibungNächste Schritte
payment_intent.processingDie Zahlung der Kundin/des Kunden wurde 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 des/der Kund/in wurde abgelehnt.Kontaktieren Sie Ihre/n Kund/in per E-Mail oder Push-Benachrichtigung und fordern Sie eine andere Zahlungsmethode an.

Die PaymentMethod wird dem Kundenobjekt zugeordnet, sobald die Zahlung den Status processing hat, da setup_future_usage und Kundin/Kunde festgelegt wurden. Diese Zuordnung erfolgt unabhängig davon, ob die Zahlung später erfolgt oder fehlschlägt.

Wenn eine Lastschriftzahlung fehlschlägt, sendet Stripe das Ereignis payment_intent.payment_failed mit einem PaymentIntent-Objekt. Das Attribut last_payment_error auf dem PaymentIntent enthält einen code und eine message mit einer detaillierten Beschreibung der fehlgeschlagenen Zahlung.

Die fehlgeschlagenen Zahlungen können vorübergehend oder endgültig für das mit dem fehlgeschlagenen PaymentIntent verknüpften Mandat sein. Im Falle einer endgültig fehlgeschlagenen Zahlung widerruft Stripe das Mandat, um zusätzliche Kosten zu vermeiden. Wenn dies geschieht und Ihre Kundin/Ihr Kunde eine Zahlung leisten muss, müssen Sie Ihre Kundin/Ihren Kunden kontaktieren, um ein neues Mandat einzurichten, indem Sie die Bankkontoinformationen erneut erfassen.

Für die folgenden zurückgegebenen Fehlercodes aktualisiert Stripe den Mandatsstatus wie folgt:

FehlercodeBeschreibungMandatsstatus
debit_not_authorizedAufgrund einer Einschränkung oder Sperre kann dieses Konto nicht belastet werden und die fehlgeschlagene Zahlung ist dauerhaft. Kontaktieren Sie diesbezüglich Ihre/n Kund/in.inactive
account_closedAufgrund der Schließung dieses Kontos kann es nicht belastet werden und die fehlgeschlagene Zahlung ist dauerhaft. Kontaktieren Sie diesbezüglich Ihre/n Kund/in.inactive
no_accountDie fehlgeschlagene Zahlung ist dauerhaft, da kein entsprechendes Konto zu den angegebenen Bankinformationen existiert. Kontaktieren Sie diesbezüglich Ihre/n Kund/in.inactive
refer_to_customerDie fehlgeschlagene Zahlung ist vorübergehend (zum Beispiel aufgrund nicht ausreichender Deckung). Sie können die Abbuchung erneut versuchen, ohne ein neues Mandat einzuholen.active

Wir empfehlen die Verwendung von Webhooks, um die erfolgreiche Abbuchung zu bestätigen und die Kundinnen/Kunden zu informieren, ob das Mandat erstellt wurde und die Zahlung erfolgt ist oder ob weitere Maßnahmen erforderlich sind.

Integration testen

Testen Sie Ihr Formular mit der BSB-Prüfnummer 000-000 und einer der unten aufgeführten Testkontonummern, wenn Sie confirmPayment aufrufen.

BSB-NummerKontonummerBeschreibung
000-000000123456Der PaymentIntent-Status wechselt von processing zusucceeded. Der Mandatsstatus bleibt active.
000-000900123456Der PaymentIntent-Status wechselt von processing zusucceeded (mit einer Verzögerung von drei Minuten). Der Mandatsstatus bleibt active.
000-000111111113Der PaymentIntent-Status wechselt von processing zu requires_payment_method mit dem Fehlercode account_closed. Der Mandatsstatus wird zu inactive.
000-000111111116Der PaymentIntent-Status wechselt von processing zu requires_payment_method mit dem Fehlercode no_account. Der Mandatsstatus wird zu inactive.
000-000222222227Der PaymentIntent-Status wechselt von processing zu requires_payment_method mit dem Fehlercode refer_to_customer. Der Mandatsstatus bleibt active.
000-000922222227Der PaymentIntent-Status wechselt von processing zu requires_payment_method mit dem Fehlercode refer_to_customer (mit einer Verzögerung von drei Minuten). Der Mandatsstatus bleibt active.
000-000333333335Der PaymentIntent-Status wechselt von processing zu requires_payment_method mit dem Fehlercode debit_not_authorized. Der Mandatsstatus wird zu inactive.
000-000666666660Der PaymentIntent-Status wechselt von processing zu succeeded, aber es wird sofort eine Zahlungsanfechtung erstellt.
000-000343434343Der PaymentIntent schlägt mit dem Fehler charge_exceeds_source_limit fehl, da der Zahlungsbetrag dazu führt, dass das Konto sein wöchentliches Limit für das Zahlungsvolumen überschreitet.
000-000121212121Der PaymentIntent schlägt mit dem Fehler charge_exceeds_transaction_limit fehl, da der Zahlungsbetrag das Transaktionsvolumenlimit des Kontos überschreitet.

Bei Verwendung der Testkontonummern werden Webhook-Ereignisse ausgelöst. In einer Sandbox gelingt bzw. scheitert PaymentIntents unverzüglich, sodass auch die entsprechenden Ereignisse payment_intent.succeeded und payment_intent.payment_failed unverzüglich ausgelöst werden. Im Live-Modus werden die Webhooks mit derselben Verzögerung wie der zugehörige PaymentIntent-Erfolg bzw. -Fehlschlag ausgelöst.

Siehe auch

  • Daten zu BECS-Lastschriftverfahren in Australien für zukünftige Zahlungen speichern
  • Connect-Zahlungen
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