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
Entwicklerressourcen
Übersicht
Billing
ÜbersichtÜber die Billing APIs
Abonnements
    Übersicht
    So funktionieren Abonnements
    Quickstart
    Use Cases
    Ihre Integration erstellen
    Funktionen für Abonnements
      Rechnungen für Abonnements
      Abonnementpläne
      Abonnementpreise
      Wiederkehrende Preismodelle
      Preistabelle einbetten
      Abonnements starten
      Mengen festlegen
      Abrechnungszyklen einrichten
      Abonnements zurückdatieren
      Mehrere Artikel abonnieren
      Testzeiträume einrichten
      Gutscheine anwenden
      Abonnements zu Stripe migrieren
      So werden anteilmäßig verrechnete Gutschriften berechnet
      Abonnementzahlungen
      Zahlungsmethoden für Abonnements
        ACH Direct Debit
        Amazon Pay
        BACS-Lastschriften im Vereinigten Königreich
        Banküberweisung
        BECS-Lastschriftverfahren in Australien
        Cash App Pay
        PayPal
        Revolut Pay
        Koreanische Karten
        Kakao Pay
        Naver Pay
        Vorab autorisierte Lastschriften in Kanada
        SEPA-Lastschriften in der EU
        iDEAL mit SEPA-Lastschrift
        Bancontact mit SEPA-Lastschrift
      Integration mit Drittanbietern von Zahlungsdienstleistungen
      Einzugsmethoden
      Starke Kundenauthentifizierung (SCA)
      Abonnements verwalten
      Abonnements bearbeiten
      Ausstehende Aktualisierungen verwalten
    Berechtigungen
    Analytik
Invoicing
Nutzungsbasierte Abrechnung
Angebote
Kundenverwaltung
Abrechnung mit anderen Produkten
Umsatzsicherung
Automatisierungen
Integration testen
Steuer
Übersicht
Stripe Tax verwenden
Compliance-Management
Berichte
Übersicht
Bericht auswählen
Berichte konfigurieren
API für Berichte
Berichte für mehrere Konten
Umsatzrealisierung
Daten
ÜbersichtSchema
Nutzerspezifische Berichte
Data Pipeline
Datenverwaltung
StartseiteUmsatzSubscriptionsSubscription featuresSubscription payment methods

Ein Abonnement mit vorab autorisierten Lastschriften in Kanada einrichten

Erfahren Sie, wie Sie ein Abonnement mit kanadischen vorab autorisierten Lastschriften erstellen und abrechnen können.

Notiz

Der Abonnement-Modus in Checkout wird noch nicht unterstützt. Um mehr über den frühzeitigen Zugriff zu erfahren, wenn diese Funktion verfügbar ist, kontaktieren Sie uns, um sich auf der Warteliste zu registrieren.

Produkt und Preis erstellen
Dashboard

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 CAD berechnet werden. Um dies zu modellieren:

  1. Go to the Products page and click Create product.
  2. Enter a Name for the product. You can optionally add a Description and upload an image of the product.
  3. Select a Product tax code. Learn more about product tax codes.
  4. Select Recurring. Then enter 15 for the price and select CAD as the currency.
  5. Choose whether to Include tax in price. You can either use the default value from your tax settings or set the value manually. In this example, select Auto.
  6. Wählen Sie Monatlich als Abrechnungszeitraum aus.
  7. Click More pricing options. Then select Flat rate as the pricing model for this example. Learn more about flat rate and other pricing models.
  8. Add an internal Price description and Lookup key to organize, query, and update specific prices in the future.
  9. Click Next. Then click Add product.

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_G0FvDp6vZvdwRZ.

Abonnement erstellen
Serverseitig

Notiz

Informationen dazu, wie Sie ein Abonnement mit einer kostenlosen Testphase erstellen, finden Sie unter Abonnement-Testphasen.

Erstellen Sie ein Abonnement mit dem Preis und dem Kunden/der Kundin mit dem Status incomplete, indem Sie den Parameter payment_behavior mit dem Wert default_incomplete angeben.

Command Line
curl
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/subscriptions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "customer"="{{CUSTOMER_ID}}" \ -d "items[0][price]"="price_F52b2UdntfQsfR" \ -d "payment_behavior"="default_incomplete" \ -d "payment_settings[payment_method_types][]"="acss_debit" \ -d "expand[0]"="latest_invoice.payment_intent"

Die Antwort enthält die erste Rechnung des Abonnements. Dies enthält die Zahlungen der Rechnung, einschließlich eines Standard-PaymentIntent, den Stripe für diese Rechnung generiert hat, und des Bestätigungsgeheimnisses, das Sie clientseitig verwenden können, um den Zahlungsvorgang sicher abzuschließen, anstatt das gesamte PaymentIntent-Objekt zu übergeben. Geben Sie das latest_invoice.confirmation_secret.client_secret an das Frontend zurück, um die Zahlung abzuschließen.

Angaben zur Zahlungsmethode und Mandatsbestätigung erfassen
Clientseitig

Um vorab autorisierte Lastschriftzahlungen in Kanada verwenden zu können, müssen Sie mithilfe einer vorab autorisierten Lastschriftvereinbarung (siehe PAD-Mandate) die Zustimmung Ihrer Kundin/Ihres Kunden für einmalige und wiederkehrende Lastschriften einholen. Das Mandate-Objekt zeichnet diese Vereinbarung und Autorisierung auf.

Stripe konfiguriert automatisch Mandate für Abonnements und Rechnungen für Sie. Der/die Kund/in muss die Mandatsbedingungen nur einmal bestätigen. Nachfolgende Abonnementzahlungen werden ohne weitere Aktion durchgeführt.

Wenn Kundinnen/Kunden über das „Click to Pay“-Verfahren mit Canadian pre-authorized debit zahlen, empfehlen wir Ihnen, Stripe.js zu verwenden, um die Zahlung an Stripe zu übermitteln. Stripe.js ist unsere grundlegende JavaScript-Bibliothek für die Erstellung von Zahlungsabläufen. Sie übernimmt automatisch komplexe Integrationsaufgaben und ermöglicht es Ihnen, Ihre Integration in Zukunft unkompliziert um andere Zahlungsmethoden zu erweitern.

Binden Sie das Stripe.js-Skript in Ihre Zahlungsseite ein, indem Sie es im head Ihrer HTML-Datei einfügen.

checkout.html
<head> <title>Checkout</title> <script src="https://js.stripe.com/basil/stripe.js"></script> </head>

Erstellen Sie auf Ihrer Bezahlseite eine Instanz von Stripe.js mit dem folgenden JavaScript.

client.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'
);

Anstatt das gesamte PaymentIntent-Objekt an den Client zu übermitteln, verwenden Sie dessen Client-Geheimnis aus dem vorherigen Schritt. Dieses unterscheidet sich von Ihren API-Schlüsseln, mit denen Anfragen der Stripe API authentifiziert werden.

Achten Sie aber auf einen vorsichtigen Umgang mit dem Client-Geheimnis, da mit ihm die Zahlung abgeschlossen werden kann. Es darf nicht protokolliert, in URLs eingebettet oder Personen außer den Kund/innen selbst zugänglich gemacht werden.

Verwenden Sie stripe.confirmAcssDebitPayment, um Bankkontodaten und Verifizierungen zu erfassen, das Mandat zu bestätigen und die Zahlung abzuschließen, wenn der/die Nutzer/in das Formular übermittelt. Die Angabe der E-Mail-Adresse der Kundinnen/Kunden und des Namens der Kontoinhaber/innen in der Eigenschaft billing_details des Parameters payment_method ist erforderlich, um eine Zahlungsmethode für vorab autorisierte Lastschriften (PAD) zu erstellen.

const form = document.getElementById('payment-form'); const accountholderName = document.getElementById('accountholder-name'); const email = document.getElementById('email'); const submitButton = document.getElementById('submit-button'); const clientSecret = submitButton.dataset.secret; form.addEventListener('submit', async (event) => { event.preventDefault(); const {paymentIntent, error} = await stripe.confirmAcssDebitPayment( clientSecret, { payment_method: { billing_details: { name: accountholderName.value, email: email.value, }, }, } ); if (error) { // Inform the customer that there was an error. console.log(error.message); } else { // Handle next step based on PaymentIntent's status. console.log("PaymentIntent ID: " + paymentIntent.id); console.log("PaymentIntent status: " + paymentIntent.status); } });

Stripe.js lädt anschließend eine modale On-Page-Nutzeroberfläche, um die Erfassung und Überprüfung der Bankkontodaten abzuwickeln, eine gehostete Mandatsvereinbarung anzuzeigen und die Autorisierung einzuholen.

Notiz

Die Ausführung von stripe.confirmAcssDebitPayment kann einige Sekunden dauern. Während dieser Zeit sollten Sie Ihr Formular deaktivieren, damit keine erneute Übermittlung erfolgen kann. Lassen Sie stattdessen ein Wartesymbol einblenden, wie beispielsweise eine Sanduhr. Tritt ein Fehler auf, lassen Sie eine Fehlermeldung für die Kundin/den Kunden anzeigen, aktivieren Sie das Formular erneut und blenden Sie das Wartesymbol aus.

Wenn der/die Kund/in die Sofortüberprüfung abschließt, wird das Abonnement automatisch active. Lesen Sie andernfalls im folgenden Abschnitt nach, wie die Verifizierung von Testeinzahlungen abgewickelt wird, während das Abonnement incomplete bleibt.

Bankkonto mit Testeinzahlungen verifizieren
Clientseitig

Notiz

Kund/innen haben 10 Tage Zeit, um Testeinzahlungen für ein Abonnements erfolgreich zu verifizieren, statt der normalerweise im Lebenszylus eines Abonnements angegebenen 23 Stunden. Diese Ablauffrist kann jedoch nicht nach dem Datum des Abrechnungszyklus liegen.

Nicht alle Kund/innen können das Bankkonto sofort verifizieren. Dieser Schritt wird nur ausgeführt, wenn Ihre Kundin/Ihr Kunde die Sofortverifizierung im vorherigen Schritt deaktiviert hat.

In diesem Fall zahlt Stripe zur Verifizierung automatisch zwei kleine Beträge auf das Bankkonto ein. Es dauert 1 bis 2 Werktage, bis Einzahlungen im Online-Kontoauszug des Kunden/der Kundin erscheinen und die Zahlungsbeschreibungen ACCTVERIFY in der Abrechnung enthalten.

Das Ergebnis des Aufrufs der Methode stripe.confirmAcssDebitPayment im vorhergehenden Schritt ist ein PaymentIntent mit dem Status requires_action. Der PaymentIntent enthält das Feld next_action, das einige nützliche Informationen zum Abschließen der Verifizierung enthält.

Stripe benachrichtigt Ihre Kundinnen/Kunden über die E-Mail-Adresse für die Rechnungsstellung, wann die Einzahlungen voraussichtlich eingehen werden. Die E-Mail enthält einen Link zu einer von Stripe gehosteten Verifizierungsseite, auf der sie die Beträge der Einzahlungen bestätigen und die Verifizierung abschließen können.

Es besteht eine Grenze von drei fehlgeschlagenen Verifizierungsversuchen. Wenn diese Grenze überschritten wird, kann das Bankkonto nicht mehr verifiziert werden. Zusätzlich gibt es für Verifizierungen von Testeinzahlungen eine Frist von 10 Tagen. Werden Testeinzahlungen nicht innerhalb dieser Zeit verifiziert, fordert die PaymentIntent wieder neue Angaben zur Zahlungsmethode an. Wenn Sie Ihren Kund/innen genau erläutern, was Testeinzahlungen sind und wie sie verwendet werden, können Sie Probleme bei der Verifizierung vermeiden.

Optional: Nutzerdefinierte E-Mails und Verifizierungsseite

Wenn Sie nutzerdefinierte Benachrichtigungen versenden möchten, müssen Sie stattdessen E-Mails an Ihre Kundinnen/Kunden senden. Dafür können Sie die URL verify_with_microdeposits[hosted_verification_url] im Objekt next_action verwenden, um Ihre Kundinnen/Kunden aufzufordern, den Verifizierungsvorgang abzuschließen.

Wenn Sie nutzerdefinierte E-Mails versenden und nicht die von Stripe gehostete Verifizierungsseite verwenden möchten, können Sie auf Ihrer Website ein Formular für Ihre Kundinnen/Kunden zur Weiterleitung dieser Beträge an Sie erstellen und das Bankkonto mit Stripe.js verifizieren.

stripe.verifyMicrodepositsForPayment(clientSecret, { amounts: [32, 45], });

Standard-Zahlungsmethode festlegen
Server

Sie haben jetzt ein aktives Abonnement eines/einer Kund/in mit einer Zahlungsmethode. Diese Zahlungsmethode wird jedoch nicht automatisch für zukünftige Zahlungen verwendet. Um diese Zahlungsmethode in Zukunft automatisch zu belasten, verwenden Sie einen Webhook-Consumer, um das Ereignis invoice.payment_succeeded für neue Abonnements zu überwachen und die Standard-Zahlungsmethode festzulegen.

server.rb
Ruby
Python
PHP
Java
Node
Go
.NET
No results
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
if event.type == 'invoice.payment_succeeded' invoice = event.data.object if invoice['billing_reason'] == 'subscription_create' subscription_id = invoice['parent']['subscription_details']['subscription'] # This example assumes you're using the default PaymentIntent that Stripe generated for the invoice. invoice_payments = Stripe::InvoicePayment.list({invoice: invoice['id']}) payment_intent_id = invoice_payments.data[0].payment.payment_intent # Retrieve the payment intent used to pay the subscription payment_intent = Stripe::PaymentIntent.retrieve(payment_intent_id) # Set the default payment method Stripe::Subscription.update( subscription_id, default_payment_method: payment_intent.payment_method ) end end

Abonnementstatus verwalten
Clientseitig

Sofern die erste Zahlung erfolgreich war, ist der Status des Abonnements active, und es sind keine weiteren Maßnahmen erforderlich. Wenn Zahlungen fehlschlagen, ändert sich der Status in den Abonnementstatus, der in Ihren Einstellungen für den automatischen Einzug konfiguriert ist. Benachrichtigen Sie die Kund/innen, wenn die Zahlung fehlgeschlagen ist und belasten Sie sie mit einer anderen Zahlungsmethode.

Notiz

Kanadische vorab autorisierte Lastschriftzahlungen werden nie automatisch wiederholt, auch dann nicht, wenn Sie einen Wiederholungsplan für andere Zahlungsmethoden konfiguriert haben.

Integration testen

E-Mail zur Verifizierung der Testeinzahlung erhalten

Um die E-Mail zur Verifizierung der Testeinzahlung in einer Sandbox zu erhalten, nachdem Sie die Bankkontodaten erfasst und ein Mandat angenommen haben, geben Sie bei der Bestätigung der Details der Zahlungsmethode im Feld payment_method[billing_details][email] eine E-Mail-Adresse im folgenden Format an: {any_prefix}+test_email@{any_domain}.

Testkontonummern

Stripe stellt mehrere Testnummern zur Verfügung, um sicherzustellen, dass Ihre Integration für manuell eingegebene Bankkontodaten produktionsbereit ist. Alle Testkonten, die eine Zahlung automatisch ausführen oder fehlschlagen lassen, müssen vor dem Zahlungsabschluss anhand der unten aufgeführten Testeinzahlungen überprüft werden.

InstitutsnummerTransitnummerKontonummerSzenario
00011000000123456789Die Zahlung ist sofort nach Prüfung der Testeinzahlungen erfolgreich.
00011000900123456789Die Zahlung ist mit einer Verzögerung von drei Minuten nach Prüfung der Testeinzahlungen erfolgreich.
00011000000222222227Die Zahlung schlägt sofort nach Prüfung der Testeinzahlungen fehl.
00011000900222222227Die Zahlung schlägt mit einer Verzögerung von drei Minuten nach Prüfung der Testeinzahlungen fehl.
00011000000666666661Die Testeinzahlungen zur Verifizierung schlagen fehl.
00011000000777777771Die Zahlung schlägt aufgrund des Zahlungsbetrags fehl, wodurch das Konto sein wöchentliches Zahlungsvolumenlimit überschreitet.
00011000000888888881Die Zahlung schlägt fehl, weil der Zahlungsbetrag das Transaktionslimit des Kontos überschreitet.

Um erfolgreiche oder fehlgeschlagene Bankkontoverifizierungen in einer Sandbox zu imitieren, verwenden Sie die folgenden aussagekräftigen Beträge für Testeinzahlungen:

Werte für TesteinzahlungenSzenario
32 und 45Die Verifizierung des Kontos ist erfolgreich.
10 und 11Simuliert das Überschreiten der Anzahl zulässiger Verifizierungsversuche.
Jede andere ZahlenkombinationDie Verifizierung des Kontos schlägt fehl.

OptionalAbrechnungszyklus festlegen

OptionalAbonnement-Testphasen

OptionalDetails der Zahlungsmethode für spätere Verwendung speichern

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