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
Billing
    Übersicht
    Über die Billing APIs
    Abonnements
      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
      Analytik
    Invoicing
    Nutzungsbasierte Abrechnung
    Connect und Billing
    Tax und Billing
    Angebote
    Umsatzsicherung
    Automatisierungen
    Skripte
    Umsatzrealisierung
    Kundenverwaltung
    Berechtigungen
    Integration testen
Steuer
Berichte
Daten
Start-up-Gründung
StartseiteUmsatzBillingSubscriptionsSubscription featuresSubscription payment methods

Ein Abonnement per SEPA-Lastschriftverfahren einrichten

Erfahren Sie, wie Sie ein Abonnement mit dem SEPA-Lastschriftverfahren erstellen und abrechnen können.

Seite kopieren

Erfahren Sie, wie Sie ein AbonnementAbonnement per SEPA-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.

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

  1. Navigieren Sie zur Seite Produkt hinzufügen.
  2. Geben Sie einen Namen für das Produkt an.
  3. Geben Sie 15 für den Preis ein.
  4. Wählen Sie als Währung EUR aus.
  5. 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_G0FvDp6vZvdwRZ.

Kund/innen erstellen
Serverseitig

Ein Abonnement benötigt einen Kunden/eine Kundin, sodass Zahlungsmethoden wiederverwendet und wiederkehrende Zahlungen nachverfolgt werden können. Erstellen Sie ein Customer-Objekt, wenn Ihr Kunde/Ihre Kundin ein Konto bei Ihrem Unternehmen einrichtet.

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

Abonnement erstellen
Serverseitig

Erstellen Sie das Abonnement mit den Kunden- und Preis-IDs. Geben Sie clientseitig das client_secret entweder aus dem confirmation_secret.client_secret der letzten Rechnung oder, für Abonnements, bei denen keine Zahlung im Voraus erforderlich ist, aus dem pending_setup_intent zurück. Legen Sie außerdem Folgendes fest:

  • payment_behavior auf default_incomplete, um die Erfassung des SEPA-Lastschriftmandats zu vereinfachen.
  • save_default_payment_method auf on_subscription, um die Zahlungsmethode als Standard für das Abonnement zu speichern, wenn die Zahlung erfolgreich ist. Durch das Speichern einer Standardzahlungsmethode wird die Erfolgsquote zukünftiger Abonnementzahlungen erhöht.
server.rb
Ruby
# 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'
post '/create-subscription' do content_type 'application/json' data = JSON.parse(request.body.read) customer_id = cookies[:customer] price_id = data['priceId'] subscription = Stripe::Subscription.create( customer: customer_id, items: [{ price: price_id, }], payment_behavior: 'default_incomplete', payment_settings: {save_default_payment_method: 'on_subscription'}, expand: ['latest_invoice.confirmation_secret', 'pending_setup_intent'] ) if subscription.pending_setup_intent != nil { type: 'setup', clientSecret: subscription.pending_setup_intent.client_secret }.to_json else { type: 'payment', clientSecret: subscription.latest_invoice.confirmation_secret.client_secret }.to_json end end

Angaben zur Zahlungsmethode und Mandatsbestätigung erfassen
Clientseitig

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

Stripe Elements ist ein Feature von Stripe.js und steht damit automatisch zur Verfügung. Fügen Sie das Stripe.js-Skript auf Ihrer Zahlungsseite ein, indem Sie es in den head Ihrer HTML-Datei einbinden. Laden Sie Stripe.js immer direkt von js.stripe.com, um die PCI-Compliance zu gewährleisten. Fügen Sie das Skript nicht in ein Bundle ein und hosten Sie selbst keine Kopie davon.

payment_setup.html
<head> <title>Submit Payment</title> <script src="https://js.stripe.com/v3/"></script> </head>

Erstellen Sie auf Ihrer Zahlungsseite mit dem folgenden JavaScript eine Instanz von Elements:

const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); const elements = stripe.elements();

IBAN-Element hinzufügen und konfigurieren

Weisen Sie Elements in Ihrem Zahlungsformular einen festen Platz zu. Erstellen Sie in Ihrem Zahlungsformular leere DOM-Knoten (Container) mit eindeutigen IDs und übergeben Sie diese IDs dann an Elements. Außerdem müssen Ihre Kund/innen das SEPA-Lastschriftmandat lesen und akzeptieren.

Zeigen Sie den folgenden Standard-Autorisierungstext an, damit Ihre Kund/innen das Mandat implizit akzeptieren.

Ersetzen Sie Rocket Rides durch den Namen Ihres Unternehmens.

Authorization text template

By providing your payment information and confirming this payment, you authorise (A) and Stripe, our payment service provider, to send instructions to your bank to debit your account and (B) your bank to debit your account in accordance with those instructions. As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited. Your rights are explained in a statement that you can obtain from your bank. You agree to receive notifications for future debits up to 2 days before they occur.

Kopieren

Beim Einrichten einer Zahlungsmethode wird das akzeptierte Mandat erstellt. Da die Kund/innen das Mandat mit der Zustimmung zu diesen Bedingungen implizit akzeptiert haben, müssen Sie diese Bedingungen in Ihrem Formular oder per E-Mail mitteilen.

payment_setup.html
<form action="/form" method="post" id="setup-form"> <div class="form-row inline"> <div class="col"> <label for="accountholder-name"> Name </label> <input id="accountholder-name" name="accountholder-name" placeholder="Jenny Rosen" required /> </div> <div class="col"> <label for="email"> Email Address </label> <input id="email" name="email" type="email" placeholder="jenny.rosen@example.com" required /> </div> </div> <div class="form-row"> <!-- Using a label with a for attribute that matches the ID of the Element container enables the Element to automatically gain focus when the customer clicks on the label. --> <label for="iban-element"> IBAN </label> <div id="iban-element"> <!-- A Stripe Element will be inserted here. --> </div> </div> <!-- Add the client_secret from the SetupIntent as a data attribute --> <button id="submit-button" data-secret="{CLIENT_SECRET}"> Set up SEPA Direct Debit </button> <!-- Display mandate acceptance text. --> <div id="mandate-acceptance"> By providing your payment information and confirming this payment, you authorise (A) Rocket Rides and Stripe, our payment service provider and/or PPRO, its local service provider, to send instructions to your bank to debit your account and (B) your bank to debit your account in accordance with those instructions. As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited. Your rights are explained in a statement that you can obtain from your bank. You agree to receive notifications for future debits up to 2 days before they occur. </div> <!-- Used to display form errors. --> <div id="error-message" role="alert"></div> </form>

Wenn das Formular geladen wurde, erstellen Sie eine Instanz des IBAN-Elements und verbinden Sie sie mit dem Element-Container:

// Custom styling can be passed to options when creating an Element. const style = { base: { color: '#32325d', fontSize: '16px', '::placeholder': { color: '#aab7c4' }, ':-webkit-autofill': { color: '#32325d', }, }, invalid: { color: '#fa755a', iconColor: '#fa755a', ':-webkit-autofill': { color: '#fa755a', }, }, }; const options = { style, supportedCountries: ['SEPA'], // Elements can use a placeholder as an example IBAN that reflects // the IBAN format of your customer's country. If you know your // customer's country, we recommend passing it to the Element as the // placeholderCountry. placeholderCountry: 'DE', }; // Create an instance of the IBAN Element const iban = elements.create('iban', options); // Add an instance of the IBAN Element into the `iban-element` <div> iban.mount('#iban-element');

Angaben zur Zahlungsmethode an Stripe senden
Clientseitig

Verwenden Sie confirmSepaDebitPayment oder, für Abonnements, bei denen keine Zahlung im Voraus erfasst wird, confirmSepaDebitSetup, um das Abonnement zu bestätigen und eine PaymentMethod SEPA-Lastschrift zu erstellen. Fügen Sie den Namen und die E-Mail-Adresse des Kunden/der Kundin in die Eigenschaften payment_method.billing_details ein.

PaymentSetup.js
// Define stripe with your publishable key var stripe = Stripe('pk_test_1234'); // Get the IBAN information from your element var iban = document.getElementById('iban-element'); const form = document.getElementById('payment-form'); const accountholderName = document.getElementById('accountholder-name'); const email = document.getElementById('email'); form.addEventListener('submit', async(event) => { event.preventDefault(); // Create the subscription const res = await fetch('/create-subscription', { method: 'POST', }); const {type, clientSecret} = await res.json(); const confirmIntent = type === 'setup' ? stripe.confirmSepaDebitSetup : stripe.confirmSepaDebitPayment; const {error} = await confirmIntent({ clientSecret, { payment_method: { sepa_debit: iban, billing_details: { name: accountholderName.value, email: email.value, }, }, } }); });

Standard-Zahlungsmethode festlegen
Serverseitig

Sie müssen 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:

Command Line
cURL
curl https://api.stripe.com/v1/customers/cus_Gk0uVzT2M4xOKD \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "invoice_settings[default_payment_method]"=pm_1F0c9v2eZvKYlo2CJDeTrB4n

Abonnementstatus verwalten
Clientseitig

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

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

Integration testen

Sie können Ihre Integration unter Verwendung der unten aufgeführten IBANs testen. Die Zahlungsmethodendetails werden für jede IBAN erfolgreich erfasst, weisen jedoch bei Abbuchung ein unterschiedliches Verhalten auf.

Test-IBANs
KontonummerBeschreibung
BE62510007547061Der Status des PaymentIntent wechselt von processing zu succeeded.
BE78510007547064Der Status des PaymentIntent wechselt nach mindestens drei Minuten von processing zu succeeded.
BE68539007547034Der Status des PaymentIntent wechselt von processing zu requires_payment_method.
BE51510007547065Der Status des PaymentIntent wechselt nach mindestens drei Minuten von processing zu requires_payment_method.
BE08510007547063Der Status des PaymentIntent wechselt von processing zu succeeded, es wird jedoch sofort eine Zahlungsanfechtung erstellt.
BE90510000343434Die Zahlung schlägt mit dem Fehlercode charge_exceeds_source_limit fehl, da der Zahlungsbetrag den wöchentlichen Grenzwert für das Zahlungsvolumen überschreitet.
BE52510000121212Die Zahlung schlägt mit dem Fehlercode charge_exceeds_weekly_limit fehl, da der Zahlungsbetrag das Transaktionsvolumenlimit des Kontos überschreitet.
BE90510002222227Die Zahlung schlägt mit dem Fehlercode insufficient_funds fehl.

OptionalAbrechnungszyklus festlegen

OptionalAbonnement-Testphasen

OptionalSEPA-Lastschriftzahlungen mit anderen Zahlungsmethoden erstellen

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