Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Finanzautomatisierung
Plattformen und Marktplätze
Geldmanagement
Entwickler-Tools
Jetzt starten
Zahlungen
Finanzautomatisierung
Jetzt starten
Zahlungen
Finanzautomatisierung
Plattformen und Marktplätze
Geldmanagement
Ü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
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsschnittstellen
Payment Links
Checkout
Web Elements
In-App-Elements
Zahlungsszenarien
Nutzerdefinierte Zahlungsabläufe
    Übersicht
    Zahlungen für bestehende Kundinnen/Kunden
    Eine Zahlung separat autorisieren und einziehen
    Zweistufiges Bestätigungsverfahren erstellen
    Zahlungsdetails erfassen, bevor Sie einen Intent erstellen
    Zahlungen auf dem Server abschließen
    Bestellungen per Post und Telefon entgegennehmen (MOTO)
    Karten in den USA und Kanada
      Karten ohne Authentifizierung speichern
      Upgrade für die Authentifizierungsverarbeitung
    Kartenangaben an API-Endpoints von Drittanbietern weiterleiten
    Zahlungsposten
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
Andere Stripe-Produkte
Financial Connections
Krypto
Climate
StartseiteZahlungenCustom payment flowsUS and Canadian cards

Eine Karte ohne Bankauthentifizierung speichern

Erfassen Sie Kartenangaben und nehmen später Belastungen vor.

Seite kopieren

Mit Stripe haben Sie die Möglichkeit, Kartendaten Ihrer Kund/innen vorab zu erfassen und die Belastung zu einem späteren Zeitpunkt durchzuführen. In einigen Regionen erfordern Banken eine zweite Authentifizierungsmethode, z. B. die Eingabe eines Codes über ein Mobilgerät. Der zusätzliche Schritt wirkt sich negativ auf die Konversionsrate auf, wenn Kund/innen Ihre Website oder Anwendung nicht aktiv nutzen und den Kauf nicht direkt authentifizieren können.

Wenn Sie überwiegend in den USA und Kanada tätig sind, erfordern die Banken keine Authentifizierung und Sie können diese einfachere Integration verwenden. Diese Integration ist in Ländern, die eine Authentifizierung für das Speichern von Karten erfordern (z. B. Indien), nicht konform und hat zur Folge, dass für eine Expansion in andere Länder oder für zusätzliche Zahlungsmethoden grundlegende Änderungen an der Integration notwendig sind. Hier erfahren Sie, wie Sie Karten speichern, die eine Authentifizierung erfordern.

Konformität

Sie sind für die Einhaltung aller geltenden Gesetze, Vorschriften und Netzwerkregeln verantwortlich, wenn Sie die Zahlungsdaten eines Kunden/einer Kundin speichern. Zum Beispiel für den Fall, dass Sie seine/ihre Zahlungsmethode für die zukünftige Nutzung speichern möchten, wenn er/sie Ihre Website oder App nicht aktiv nutzt. Fügen Sie Ihrer Website oder App Bedingungen hinzu, die angeben, wie Sie die Details zur Zahlungsmethode speichern und Kund/innen die Möglichkeit geben, sich anzumelden. Wenn Sie Zahlungen offline vornehmen möchten, stellen Sie sicher, dass Ihre Bedingungen Folgendes enthalten:

  • Die kundenseitige Zustimmung, eine Zahlung oder mehrere Zahlungen für bestimmte Transaktionen in deren Namen einzuleiten.
  • Der erwartete Zeitpunkt und die voraussichtliche Häufigkeit von Zahlungen (z. B. Zahlungen für geplante Raten- oder Abonnementzahlungen oder für außerplanmäßige Aufstockungen).
  • Wie Sie den Zahlbetrag ermitteln.
  • Ihre Stornorichtlinie, wenn die Zahlungsmethode für einen Abonnementdienst ist.

Dokumentieren Sie unbedingt die schriftliche Zustimmung Ihrer Kundinnen und Kunden zu diesen Bedingungen.

Kartenangaben erfassen
Clientseitig

Bevor Sie mit diesem Leitfaden beginnen, benötigen Sie ein Stripe-Konto. Registrieren Sie sich jetzt.

Erstellen Sie eine Checkout-Seite, um die Kartendaten Ihrer Kundinnen/Kunden zu erfassen. Verwenden Sie Stripe Elements, eine UI-Bibliothek, mit der Sie nutzerdefinierte Zahlungsformulare erstellen können. Um mit Elements zu beginnen, binden Sie die Stripe.js-Bibliothek mit dem folgenden Skript in Ihre Checkout-Seite ein.

<script src="https://js.stripe.com/v3/"></script>

Laden Sie Stripe.js immer direkt von js.stripe.com, um die PCI-Compliance einzuhalten. Fügen Sie das Skript nicht in ein Paket ein und hosten Sie selbst keine Kopie davon.

Um die hochentwickelte Betrugsprävention von Stripe bestmöglich zu nutzen, binden Sie dieses Skript auf jeder Seite Ihrer Website ein, nicht nur auf der Bezahlseite. Indem Sie es auf jeder Seite einbinden, ermöglichen Sie Stripe die Erkennung verdächtiger Aktivitäten, die auf einen Betrug hinweisen könnten, wenn Ihre Website besucht wird.

Elements zu Ihrer Seite hinzufügen

Um Kartendaten von Ihren Kund/innen sicher zu erfassen, erstellt Elements für Sie Komponenten der Nutzeroberfläche, die von Stripe gehostet werden. Sie werden dann Ihrem Zahlungsformular hinzugefügt, anstatt sie direkt zu erstellen. Um zu bestimmen, wo diese Komponenten eingefügt werden sollen, erstellen Sie leere DOM-Elemente (Container) mit eindeutigen IDs in Ihrem Zahlungsformular.

index.html
<input id="cardholder-name" type="text"> <!-- placeholder for Elements --> <div id="card-element"></div> <div id="card-result"></div> <button id="card-button">Save Card</button>

Elements-Beispiele

Beispiele für Zahlungsformulare, die mit Elements erstellt wurden, finden Sie auf GitHub.

Erstellen Sie anschließend eine Instanz des Stripe-Objekts und geben Sie dabei Ihren veröffentlichbaren API-Schlüssel als ersten Parameter an. Erstellen Sie dann eine Instanz des Elements-Objekts und verbinden Sie damit ein card-Element im DOM.

Das card-Element vereinfacht das Zahlungsformular und minimiert durch ein einziges, flexibles Eingabefeld, mit dem alle notwendigen Kartenangaben sicher erfasst werden können, die Anzahl der Pflichtfelder.

Alternativ können Sie die Elemente cardNumber, cardExpiry und cardCvc zu einem flexiblen Kartenformular mit Mehrfacheingabe kombinieren.

Notiz

Erfassen Sie immer eine Postleitzahl, um die Kartenakzeptanzquote zu steigern und Betrug vorzubeugen.

Das einzeilige Card Element erfasst und sendet die Postleitzahl der Kundin/des Kunden an Stripe. Wenn Sie Ihr Zahlungsformular mit geteilten Elements erstellen (Kartennummer, Ablaufdatum, Prüfziffer) fügen Sie ein separates Eingabefeld für die Postleitzahl der Kundin/des Kunden hinzu.

client.js
const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); const elements = stripe.elements(); const cardElement = elements.create('card'); cardElement.mount('#card-element');

Ein Stripe Element enthält einen iFrame, der die Zahlungsdaten sicher über eine HTTPS-Verbindung an Stripe übermittelt. Die Adresse der Zahlungsseite 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.

client.js
Vollständiges Beispiel anzeigen
const cardholderName = document.getElementById('cardholder-name'); const cardButton = document.getElementById('card-button'); const resultContainer = document.getElementById('card-result'); cardButton.addEventListener('click', async (ev) => { const {paymentMethod, error} = await stripe.createPaymentMethod({ type: 'card', card: cardElement, billing_details: { name: cardholderName.value, }, } ); if (error) { // Display error.message in your UI. resultContainer.textContent = error.message; } else { // You have successfully created a new PaymentMethod resultContainer.textContent = "Created payment method: " + paymentMethod.id; } });

Senden Sie die resultierende PaymentMethod-ID an Ihren Server.

Stripe einrichten
Serverseitig

Nutzen Sie unsere offiziellen Bibliotheken für den Zugriff auf die Stripe-API über Ihre Anwendung:

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'

Karte speichern
Serverseitig

Speichern Sie die Karte, indem Sie die PaymentMethod einem/einer Kund/in zuordnen. Sie können das Customer-Objekt nutzen, um weitere Informationen über Ihre Kundin/Ihren Kunden zu speichern, wie etwa Lieferdaten und E-Mail-Adresse.

Command Line
cURL
curl https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d payment_method={{PAYMENT_METHOD_ID}}

Wenn bereits ein Kunde besteht, können Sie die PaymentMethod stattdessen an dieses Objekt anhängen.

Command Line
cURL
curl https://api.stripe.com/v1/payment_methods/{{PAYMENT_METHOD_ID}}/attach \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}

Verknüpfen Sie anschließend die ID des Kundenobjekts und die ID der PaymentMethod mit Ihrer eigenen Kundenrepräsentation, falls vorhanden.

Gespeicherte Karte belasten
Serverseitig

Wenn Sie bereit sind, rufen Sie die Kunden- und die PaymentMethod-ID ab, die Sie belasten möchten. Dies können Sie entweder durch Speichern der IDs beider Objekte in Ihrer Datenbank tun oder indem Sie mittels der Kunden-ID alle für das Kundenobjekt verfügbaren PaymentMethods suchen.

Command Line
cURL
curl -G https://api.stripe.com/v1/payment_methods \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d type=card

Nutzen Sie die PaymentMethod-ID und die Kunden-ID, um einen neuen PaymentIntent zu erstellen. Setzen Sie error_on_requires_action auf „true“, um Zahlungen abzulehnen, die weitere Schritte wie die Zwei-Faktor-Authentifizierung erfordern.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d currency=usd \ -d "payment_method_types[]"=card \ -d customer=
{{CUSTOMER_ID}}
\ -d payment_method={{PAYMENT_METHOD_ID}} \ -d error_on_requires_action=true \ -d confirm=true

Schlägt ein Zahlungsversuch fehl, schlägt auch die Anfrage mit einem HTTP-Statuscode 402 fehl, und Stripe gibt eine Fehlermeldung aus. Sie müssen Ihre Kundinnen/Kunden dann auffordern, Ihre Anwendung erneut aufzurufen (zum Beispiel indem Sie eine E-Mail senden), um die Zahlung abzuschließen. Prüfen Sie den Code des von der Stripe-API-Bibliothek gemeldeten Fehlers oder prüfen Sie den last_payment_error.decline_code im PaymentIntent, um zu erfahren, warum der/die Kartenaussteller/in die Zahlung abgelehnt hat.

Umgang mit Kartenfehlern

Benachrichtigen Sie Ihren Kunden/Ihre Kundin, dass die Zahlung fehlgeschlagen ist und verweisen Sie sie/ihn auf das Bezahlformular, das Sie in Schritt 1 erstellt haben. Dort kann er/sie seine Kartendaten neu eingeben. Senden Sie die neue PaymentMethod-ID an Ihren Server, um sie an das Kundenobjekt anzufügen und die Zahlung erneut durchzuführen.

Alternativ können Sie in einem einzigen API-Aufruf eine PaymentIntent erstellen und eine Karte speichern, wenn Sie bereits einen Kunden/eine Kundin erstellt haben.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d currency=usd \ -d "payment_method_types[]"=card \ -d customer=
{{CUSTOMER_ID}}
\ -d payment_method={{PAYMENT_METHOD_ID}} \ -d error_on_requires_action=true \ -d confirm=true \ -d setup_future_usage=on_session

Indem setup_future_usage auf on_session gesetzt wird, erhält Stripe die Nachricht, dass Sie die Karte für später speichern möchten, ohne dass eine unnötige Authentifizierung eingeleitet wird.

Integration testen

Stripe provides test cards you can use in a sandbox to simulate different cards’ behavior. Use these cards with any CVC, postal code, and expiry date in the future.

NummerBeschreibung
Bei Erfolg sofortige Verarbeitung der Zahlung.
Schlägt stets mit dem Ablehnungscode insufficient_funds fehl.
Erfordert eine Authentifizierung, die in dieser Integration zu einem Fehler mit dem Code authentication_required führt.

OptionalCVC erneut erfassen

Upgrade Ihrer Integration zur Authentifizierung von Karten

Diese Integration lehnt Karten ab, die während der Zahlung eine Authentifizierung erfordern. Wenn viele Zahlungen im Dashboard als Failed angezeigt werden, sollten Sie Ihre Integration aktualisieren. Die globale Integration von Stripe verarbeitet diese Zahlungen, statt sie automatisch abzulehnen.

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