Abonnement per BECS-Lastschriftverfahren in Australien einrichten
Erfahren Sie, wie Sie ein Abonnement per BECS-Lastschriftverfahren einrichten und abrechnen können.
Notiz
Wenn Sie ein neuer Nutzer/eine neue Nutzerin sind, verwenden Sie das Payment Element, statt wie in diesem Leitfaden beschrieben Stripe Elements zu nutzen. Das Payment Element bietet einen Low-Code-Integrationspfad mit integrierten Konversionsoptimierungen. Eine Anleitung finden Sie unter Abonnement zusammenstellen.
Verwenden Sie diesen Leitfaden, um ein Abonnement mit BECS-Lastschriftverfahren als Zahlungsmethode einzurichten.
Produkt und Preis erstellenDashboard
Produkte stehen für den von Ihnen angebotenen Artikel oder Dienst. Preise geben an, wie viel und wie häufig Sie für ein Produkt berechnen. Dies schließt ein, wie viel ein Produkt kostet, welche Währung Sie akzeptieren und ob es sich um eine einmalige oder eine wiederkehrende Zahlung handelt. Wenn Sie nur ein paar wenige Produkte und Preise haben, können Sie diese im Dashboard erstellen und verwalten.
In diesem Leitfaden wird ein Stock-Foto-Service als Beispiel verwendet, für den Kund/innen ein monatliches Abonnement mit dem Betrag von 15 AUD berechnet werden. Um dies zu modellieren:
- Navigieren Sie zur Seite Produkt hinzufügen.
- Geben Sie einen Namen für das Produkt an.
- Geben Sie 15 für den Preis ein.
- Wählen Sie als Währung AUD aus.
- Klicken Sie auf Produkt speichern.
Zeichnen Sie nach Erstellen des Produkts und des Preises die Preis-ID auf, sodass Sie diese in nachfolgenden Schritten verwenden können. Die ID wird auf der Preisseite angezeigt und sieht in etwa so aus: price_
.
SetupIntent erstellenServerseitig
Ein SetupIntent ist ein Objekt, das Ihre Absicht darstellt, die Zahlungsmethode einer Kundin/eines Kunden für zukünftige Zahlungen einzurichten. Mit dem SetupIntent
werden die Schritte dieses Einrichtungsprozesses verfolgt. Für BECS-Lastschriftverfahren beinhaltet dies das Erfassen eines Mandats von der Kundin/dem Kunden und die Überprüfung der Gültigkeit während der Laufzeit des Mandats.
Erstellen Sie einen SetupIntent auf Ihrem Server. Setzen Sie dabei payment_method_types auf au_
:
Das zurückgegebene SetupIntent
-Objekt enthält die Eigenschaft client_
. Übergeben Sie das Client-Geheimnis an die Anwendung auf Client-Seite, um mit der Einrichtung fortzufahren.
Angaben zur Zahlungsmethode und Mandatsbestätigung erfassenClientseitig
Sie können jetzt mit Stripe Elements Zahlungsinformationen auf dem Client erfassen. Elements beinhaltet vorgefertigte Komponenten der Nutzeroberfläche zur Erfassung von Zahlungsdetails.
Ein Stripe Element enthält ein iframe, dass die Zahlungsdaten über eine HTTPS-Verbindung sicher an Stripe sendet. Die Adresse der Bezahlseite muss ebenfalls mit https:// beginnen, nicht mit http://, damit Ihre Integration funktioniert.
Sie können Ihre Integration ohne HTTPS testen. Dann müssen Sie das Protokoll aber aktivieren, bevor Sie Ihre ersten Live-Zahlungen empfangen.
Stripe Elements einrichten
Angaben zur Zahlungsmethode an Stripe sendenClientseitig
Anstatt das gesamte SetupIntent
-Objekt an den Client zu senden, verwenden Sie dessen Client-Geheimnis aus Schritt 2. Dieses unterscheidet sich von Ihren API-Schlüsseln, mit denen Anfragen der Stripe-API authentifiziert werden.
Achten Sie auf einen sorgfältigen Umgang mit dem Client-Geheimnis, da mit ihm die Einrichtung abgeschlossen werden kann. Es darf nicht protokolliert, in URLs eingebettet oder Dritten zugänglich gemacht werden.
Kundin/Kunde mit PaymentMethod erstellenServerseitig
Für die Erstellung von Abonnements wird ein Customer-Objekt benötigt, das für die Kundin/den Kunden steht, die/der Ihr Produkt kauft. Da der von Ihnen erstellte Preis monatlich berechnet wird, müssen Sie Ihren Kund/innen eine gespeicherte Zahlungsmethode hinzufügen, damit zukünftige Zahlungen erfolgreich sind. Hierfür wird die zuvor erfasste Zahlungsmethode auf das übergeordnete Customer-Objekt und als Standard-Zahlungsmethode für Rechnungen festgelegt:
Gibt ein Customer
-Objekt zurück. Sie können die Standard-Zahlungsmethode im invoice_
-Objekt anzeigen:
{ "id": "cus_Gk0uVzT2M4xOKD", "object": "customer", "address": null, "balance": 0, "created": 1581797088, "currency": null, "default_source": null, "delinquent": false, "description": null, "discount": null, "email": "jenny.rosen@example.com", "invoice_prefix": "11D0B3D7", "invoice_settings": { "custom_fields": null, "default_payment_method": "pm_1FU2bgBF6ERF9jhEQvwnA7sX", "footer": null },
Speichern Sie nach dem Erstellen der Kundin/des Kunden den Wert id
zur späteren Verwendung in Ihrer Datenbank. Auch im nächsten Schritt wird diese ID benötigt.
Abonnement erstellenServerseitig
Erstellen Sie ein Abonnement mit dem Preis und dem Kunden/der Kundin:
Durch das Erstellen von Abonnements werden Kundenzahlungen automatisch abgewickelt, weil die Standard-Zahlungsmethode festgelegt wird. Nach einer erfolgreichen Zahlung ändert sich der Status im Stripe-Dashboard in Aktiv. Der Preis, den Sie zuvor erstellt haben, bestimmt nachfolgende Abrechnungen.
Abonnementstatus verwaltenClientseitig
Sofern die erste Zahlung erfolgreich war, ist der Status des Abonnements active
und es sind keine weiteren Schritte erforderlich. Wenn Zahlungen fehlschlagen, wird der Status in den in Ihren Einstellungen für die automatische Abrechnung konfigurierten Abonnementstatus geändert. Sie sollten Kundinnen/Kunden beim Fehlschlagen einer Zahlung benachrichtigen und die Zahlung mit einer anderen Zahlungsmethode abwickeln.
Notiz
BECS-Lastschriftzahlungen werden nie automatisch wiederholt, auch dann nicht, wenn Sie einen Wiederholungsplan für andere Zahlungsmethoden konfiguriert haben.
Integration testen
Testen Sie Ihr Formular mit der BSB-Prüfnummer 000-000
und einer der unten aufgeführten Testkontonummern, wenn Sie confirmAuBecsDebitSetup anfordern.
BSB-Nummer | Kontonummer | Beschreibung |
---|---|---|
000-000 | 000123456 | Der mit der resultierenden PaymentMethod erstellte PaymentIntent wechselt von processing zu succeeded . Der Mandatsstatus bleibt active . |
000-000 | 900123456 | Der mit der resultierenden PaymentMethod erstellte PaymentIntent wechselt von processing zu succeeded (mit einer Verzögerung von drei Minuten). Der Mandatsstatus bleibt active . |
000-000 | 111111113 | Der mit der resultierenden PaymentMethod erstellte PaymentIntent wechselt von processing zu requires_ mit dem Fehlercode account_ . Der Mandatsstatus ändert sich an dieser Stelle in inactive . |
000-000 | 111111116 | Der mit der resultierenden PaymentMethod erstellte PaymentIntent wechselt von processing zu requires_ mit dem Fehlercode no_ . Der Mandatsstatus ändert sich an dieser Stelle in inactive . |
000-000 | 222222227 | Der mit der resultierenden PaymentMethod erstellte PaymentIntent wechselt von processing zu requires_ mit dem Fehlercode refer_ . Der Mandatsstatus bleibt active . |
000-000 | 922222227 | Der mit der resultierenden PaymentMethod erstellte PaymentIntent wechselt von processing zu requires_ mit dem Fehlercode refer_ (mit einer Verzögerung von drei Minuten). Der Mandatsstatus bleibt active . |
000-000 | 333333335 | Der mit der resultierenden PaymentMethod erstellte PaymentIntent wechselt von processing zu requires_ mit dem Fehlercode debit_ . Der Mandatsstatus ändert sich an dieser Stelle in inactive . |
000-000 | 666666660 | Der mit der resultierenden PaymentMethod erstellte PaymentIntent wechselt von processing zu succeeded . Eine Zahlungsanfechtung wird jedoch sofort erstellt. |
000-000 | 343434343 | The PaymentIntent that was created with the resulting PaymentMethod fails with a charge_ error due to the payment amount causing the account to exceed its weekly payment volume limit. |
000-000 | 121212121 | The PaymentIntent that was created with the resulting PaymentMethod fails with a charge_ error due to the payment amount exceeding the account’s transaction volume limit. |