Zahlungsdetails nach Zahlung speichern
Nehmen Sie eine persönliche Zahlung entgegen und speichern Sie die Zahlungsdetails, um sie später zu verwenden, wenn der/die Karteninhaber/in nicht physisch anwesend ist.
Sie können das Stripe-Terminal verwenden, um Zahlungsdaten von einem Kartenkauf im Geschäft zu speichern. Eine erfolgreiche card_-Zahlung gibt eine wiederverwendbare card-Zahlungsmethode im generated_-Attribut zurück. Es gibt mehrere Use cases:
- Eine Kundin/ein Kunde eines Fitnessstudios bezahlt persönlich für eine erste Sitzung und ein Mitgliedsabonnement. Bei der Transaktion wird eine
generated_erstellt, die für zukünftige automatische Verlängerungen der Mitgliedschaft verwendet wird.card - Eine Kundin/ein Kunde in einem Bekleidungsgeschäft gibt ihre/seine E-Mail-Adresse an, wenn sie/er einen Einkauf an der Kasse tätigt. Bei der Transaktion wird ein Kundendatensatz und eine zugehörige gespeicherte
generated_angelegt. Damit kann sich die Kundin/der Kunde später auf der Website des Geschäfts anmelden und mit derselben Karte eine Bestellung aufgeben.card
Warnung
Die erste persönliche Zahlung ist eine Transaktion mit Vorlage der Karte. Alle nachfolgenden Belastungen, die mit der generated_ vorgenommen werden, sind Transaktionen ohne Vorlage der Karte (CNP-Transaktionen) und die für Transaktionen mit Vorlage der Karte verfügbaren Funktionen (wie Haftungsverlagerung und Preisgestaltung) gelten nicht für diese nachfolgenden Belastungen.
Hinweis
Wir haben das Modell für die Kundeneinwilligung in diese Funktion geändert, sodass der Parameter allow_ erforderlich ist. Sie müssen Ihre Integration 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.
Kundin/Kunden erstellen
Um eine Karte für zukünftige Zahlungen einzurichten, müssen Sie sie einem/einer Kund/in hinzufügen. Erstellen Sie ein Customer-Objekt, wenn Ihr/e Kund/in ein Konto bei Ihrem Unternehmen erstellt. Customer-Objekte ermöglichen die Wiederverwendung von Zahlungsmethoden und die Nachverfolgung über mehrere Zahlungen hinweg.
Vergleichen Sie die Referenzen von Customers v1 und Accounts v2
Wenn es sich bei Ihrem Kunden/Ihrer Kundin um eine Accounts v2-Entität handelt, verwenden Sie unseren Leitfaden, um Customer- und Ereignisreferenzen in Ihrem Code durch die entsprechenden Accounts v2 API-Referenzen zu ersetzen.
Bei erfolgreicher Erstellung wird das Kundenobjekt zurückgegeben. Sie können das Objekt bezüglich der Kunden-id überprüfen and den Wert zum späteren Abruf in Ihrer Datenbank speichern.
Sie finden diese Kundinnen/Kunden auf der Seite Kundinnen/Kunden im Dashboard.
PaymentIntent erstellen
Fordern Sie beim Erstellen eines PaymentIntent eine generated_ an, indem Sie einen Wert für setup_future_usage angeben. Wenn Sie beabsichtigen, die Zahlungsmethode nur dann wiederzuverwenden, wenn der Kunde/die Kundin während des Bezahlvorgangs anwesend ist, verwenden Sie on_. Andernfalls verwenden Sie off_.
Hinweis
Visa-, Mastercard-, American Express-, Discover-, eftpos-, Interac- und girocard-Karten mit Co-Branding werden als card_-Zahlungsmethoden unterstützt, die als Typ card gespeichert werden können.
Zahlungsmethode erfassen und verarbeiten
Hinweis
Diese Funktion erfordert das iOS SDK v4.3.0 oder höher.
Wenn der Kunde/die Kundin zahlen möchte und der Speicherung der Angaben zur Zahlungsmethode zugestimmt hat, übergeben Sie allow_redisplay als always oder limited an den Aufruf collectPaymentMethod. Der Wert gibt an, inwieweit eine Zahlungsmethode in einem Bezahlvorgang eines Kunden/einer Kundin angezeigt werden kann.
Auf die generated_card zugreifen
Eine erfolgreiche Zahlung mit einer Methode, die die zukünftige Verwendung unterstützt, gibt eine PaymentIntent im Status requires_ oder succeeded zurück. Sie können die generated_card-Zahlungsmethode abrufen, indem Sie die Eigenschaft latest_charge des PaymentIntent erweitern und payment_method_details.card_present anzeigen. Wenn Sie die Kunden-ID an den Erstellungsaufruf des PaymentIntent übergeben haben, wird die wiederverwendbare PaymentMethod automatisch dem Kundenobjekt zugeordnet. Andernfalls können Sie es in einem separaten Aufruf manuell hinzufügen.
Überprüfen Sie immer, ob die PaymentIntent.latest_charge einen generated_-Wert enthält. Bei einigen Zahlungen, wie z. B. Zahlungen über Digital Wallets und Interac-, eftpos- oder girocard-Kartenzahlungen mit nur einer Marke, wird möglicherweise keine generierte Karte erstellt. Wenn das passiert und Sie eine wiederverwendbare Zahlungsmethode benötigen, haben Sie zwei Möglichkeiten:
- Fordern Sie den Kunden/die Kundin auf, eine andere Zahlungsmethode zu speichern, indem Sie den Ablauf verwenden, um eine Zahlungsmethode zu speichern, ohne eine Zahlung anzunehmen.
- Erstatten Sie die persönliche Zahlung, weisen Sie darauf hin, dass die Transaktion fehlgeschlagen ist, und fordern Sie den Kunden/die Kundin auf, eine andere Zahlungsmethode zu verwenden.
Ü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.