Direkt speichern, ohne die Karte zu belasten
Details einer vorhandenen Karte erfassen und für die Online-Verwendung speichern.
Verwenden Sie SetupIntents, um Details zu Karten oder Mobile Wallets zu erfassen, ohne die Karte zu belasten. Ein SetupIntent kann eine card_ PaymentMethod nicht direkt speichern, aber in den meisten Fällen können Sie eine wiederverwendbare generated_ PaymentMethod erstellen, die dieselbe Karte darstellt. Aus der Sicht Ihres Kunden/Ihrer Kundin handelt es sich um dieselbe Zahlungsmethode.
Warnung
Alle mit der Zahlungsmethode generated_ getätigten Belastungen sind Transaktionen ohne Vorlage der Karte (CNP) und die für Transaktionen mit Vorlage der Karte verfügbaren Funktionen (wie Haftungsverlagerung und Preisgestaltung) gelten nicht für diese Belastungen.
Sie können SetupIntents verwenden, um die Kartenangaben von Visa-, Mastercard-, American Express-, Discover- und Cobranding-Karten für Interac, eftpos und Girocard zu erfassen. Cobranding-Karten für Interac müssen jedoch in ein Lesegerät eingelegt werden. Das bedeutet, dass sie von Tap to Pay nicht unterstützt werden.
SetupIntents unterstützt keine markeneigenen Interac-, eftpos- und Girocard-Karten.
Zum Speichern von Karten mit Stripe Terminal mithilfe von SetupIntents müssen Sie Folgendes tun:
- Erstellen oder Abrufen eines Kunden-Objekts
- Erstellen eines SetupIntent-Objekts, um den Vorgang zu verfolgen.
- Nachdem Sie die Zustimmung des Kunden/der Kundin eingeholt haben, erfassen Sie die Zahlungsmethode und übermitteln Sie die Details an Stripe.
Hinweis
Wir haben das Modell für die Kundeneinwilligung in diese Funktion geändert, sodass der Parameter allow_ anstelle des abgeschafften customer_-Parameters erforderlich ist. Wenn Ihre Integration customer_ verwendet, müssen Sie sie aktualisieren, um allow_ zu nutzen. Dieses Update ist seit dem 31. März 2025 für Nicht-React Native-Nutzer/innen und ab dem 30. September 2025 für React Native-Nutzer/innen verpflichtend. Eine Anleitung finden Sie unter Eintrag in Änderungsprotokoll.
Hinweis
Die servergestützte SetupIntents API ist kompatibel mit den BBPOS WisePOS E-Lesegeräten und dem Stripe Reader S700.
Kundinnen/Kunden erstellen oder abrufen
Um eine bei Stripe gespeicherte Karte zu belasten, müssen Sie sie einem Kunden-Objekt zuordnen.
Wenn Sie vor dem Bestätigen, eine Kundin/einen Kunden in Ihrer SetupIntent angeben, fügt Stripe die generierte Kartenzahlungsmethode automatisch zum angegebenen Kunden-Objekt hinzu.
Fügen Sie den folgenden Code auf Ihrem Server ein, um einen neuen Customer zu erstellen.
SetupIntent erstellen
Hinweis
Stellen Sie eine Kunden-ID beim Erstellen eines SetupIntent bereit, um nach erfolgreicher Einrichtung die Karten-Zahlungsmethode an den Customer zu binden. Wenn Sie keine Kunden-ID angeben, müssen Sie die Zahlungsmethode in einem separaten Aufruf anhängen.
Ein SetupIntent ist ein Objekt, mit dem Sie eine Zahlungsmethode eines Kunden/einer Kundin für zukünftige Zahlungen einrichten können. Der SetupIntent verfolgt die Schritte dieses Einrichtungsvorgangs. Für Terminal beinhaltet dies die Einholung und Aufzeichnung der Zustimmung von dem/der Karteninhaber/in.
Sie müssen den SetupIntent auf Ihrem Server erstellen und card_ im Parameter payment_. Geben Sie usage=on_ an, wenn Sie beabsichtigen, die Zahlungsmethode nur dann wiederzuverwenden, wenn sich der Kunde/die Kundin in Ihrem Bezahlvorgang befindet.
Zahlungsmethode zum Speichern erfassen
Nachdem Sie einen SetupIntent erstellt haben, müssen Sie eine Zahlungsmethode erfassen und die Zustimmung des Kunden/der Kundin einholen. Übergeben Sie allow_redisplay als always oder limited. Geben Sie damit an, inwieweit eine Zahlungsmethode in einem Bezahlvorgang einer Kundin/eines Kunden angezeigt werden kann.
Hinweis
Holen Sie die Zustimmung mündlich oder über ein Kontrollkästchen in Ihrer Anwendung ein. Sie müssen auf die Einhaltung sämtlicher in Ihrer Region geltenden Gesetze, Regeln und Richtlinien achten.
Sie müssen den Endpoint process_setup_intent aufrufen, der sowohl die Erfassung als auch die Bestätigung des SetupIntent übernimmt. Wenn der Kunde/die Kundin seine/ihre Zustimmung erteilt, legen Sie allow_ entweder auf always oder limited fest.
Diese Methode erfasst verschlüsselte Zahlungsmethodendaten mithilfe des verbundenen Kartenlesegeräts und ordnet die verschlüsselten Daten dem SetupIntent zu.
Vorsicht
Die Erfassung einer Zahlungsmethode erfolgt lokal und erfordert bis zum nächsten Schritt keine Autorisierung oder Aktualisierung des SetupIntent-Objekts.
Erfassung abbrechen
Programmgesteuerte Stornierung
Sie können die Erfassung einer Zahlungsmethode durch Aufrufen von cancel_action abbrechen.
Angaben zur Zahlungsmethode an Stripe übermitteln
Ihr vorheriger Aufruf von processSetupIntent verarbeitet die Bestätigung für Sie, sodass keine weiteren Maßnahmen erforderlich sind.
Eine erfolgreiche Einrichtung gibt den Wert succeeded für die Status-Eigenschaft des SetupIntent zurück, zusammen mit einer SetupAttempt.payment_method_details.card_present.generated_card, bei der es sich um eine wiederverwendbare card-Zahlungsmethode handelt, die Sie für Online-Zahlungen verwenden können.
Hinweis
Die SetupIntent.payment_method ist eine card_-PaymentMethod, die die Tokenisierung der physisch vorhandenen Karte darstellt und nicht online abrechenbar ist. Bei zukünftigen Zahlungen wird stattdessen die generierte Karte verwendet. Aus Kundensicht handelt es sich um dieselbe Zahlungsmethode.
Die Zahlungsmethode generated_ wird automatisch dem Kunden/der Kundin zugeordnet, den/die Sie bei der Erstellung des SetupIntent angegeben haben. Sie können die Zahlungsmethode generated_ abrufen, indem Sie die Eigenschaft latest_ des SetupIntent erweitern. Überprüfen Sie immer, ob ein Wert für generated_ angegeben wurde, da der Wert für Zahlungsmethoden, die keine generierten Karten zulassen, leer ist.
Alternativ können Sie die angehängte Zahlungsmethode abrufen, indem Sie die Liste der Zahlungsmethoden abrufen, die dem Kunden/der Kundin angehängt wird.
Wenn Sie während der Erstellung des SetupIntent keinen Kunden/keine Kundin angeben, können Sie auch in einem separaten Aufruf die generated_ an das Customer-Objekt anhängen.
Wenn die Einrichtung nicht erfolgreich ist, prüfen Sie den zurückgegebenen Fehler, um die Ursache zu ermitteln. Wurde beispielsweise die Zustimmung des/der Kund/in nicht eingeholt und Stripe nicht über die Zustimmung informiert, tritt ein Fehler auf.
Überlegungen zu Mobile Wallets
Gespeicherte Mobile Wallets sind nur für off_session-Zahlungen vorgesehen, z. B. für zukünftige Abonnementzahlungen oder andere Zahlungen, die Sie im Namen Ihrer Kundinnen und Kunden initiieren. Wenn Sie eine Zahlungsmethode für eine Digital Wallet speichern, ist für die generated_ die Option allow_ festgelegt, um die spezifischen Nutzungsüberlegungen anzugeben.
Wenn Sie versuchen, ein Mobil Wallet zu belasten, achten Sie darauf, dass bei der PaymentIntent-Bestätigung off_ übergeben wird. Wenn sich der Kunde/die Kundin in Ihrem Bezahlvorgang befindet, müssen Sie stattdessen die Integrationen von Apple Pay und Google Pay verwenden, um erneut zur Anzeige der Zahlungsmethode aufzufordern.
Compliance
You’re responsible for your compliance with all applicable laws, regulations, and network rules when saving a customer’s payment details. For example, the European Data Protection Board has issued guidance regarding saving payment details. These requirements generally apply if you want to save your customer’s payment method for future use. This applies in situations such as presenting a customer’s payment method to them in the checkout flow for a future purchase, or charging them when they’re not actively using your website or app, placing a MOTO order, or in your store.
Add terms to your checkout flow that state how you plan to save payment method details and allow customers to opt in. If you plan to charge the customer while they’re not actively checking out, make sure (at a minimum) that your terms also cover the following:
- 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).
- So wird der Zahlungsbetrag bestimmt.
- Ihre Stornorichtlinie, wenn Sie die Zahlungsmethode für einen Abonnementdienst einrichten.
Dokumentieren Sie unbedingt die schriftliche Zustimmung Ihrer Kundinnen und Kunden zu diesen Bedingungen.
When you save a payment method, you can only use it for the specific purpose that you included in your terms. If you want to charge customers when they’re not actively checking out and also save the customer’s payment method to present to them as a saved payment method for future purchases, you must explicitly collect consent from the customer. One way to do so is with a “Save my payment method for future use” checkbox.