# 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. > #### Support für die Accounts v2 API > > Das Terminal SDK unterstützt keine ‘*‘kundenseitig konfigurierten Konten’* (Account configurations represent role-based functionality that you can enable for accounts, such as merchant, customer, or recipient)’. Es unterstützt nur `Kunden`-Objekte. Sie können Terminal mit der Accounts v2 API nutzen, wenn sich Ihr gesamter Kundencode auf der Serverseite befindet und das SDK nicht verwendet. Sie können das Stripe-Terminal verwenden, um Zahlungsdaten von einem Kartenkauf im Geschäft zu speichern. Eine erfolgreiche `card_present`-Zahlung gibt eine wiederverwendbare `card``PaymentMethod` im `generated_card` -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_card` erstellt, die für zukünftige automatische Verlängerungen der Mitgliedschaft verwendet wird. - 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_card` angelegt. Damit kann sich die Kundin/der Kunde später auf der Website des Geschäfts anmelden und mit derselben Karte eine Bestellung aufgeben. > Die erste persönliche Zahlung ist eine Transaktion mit Vorlage der Karte. Alle nachfolgenden Belastungen, die mit der `generated_card` vorgenommen werden, sind Transaktionen ohne Vorlage der Karte (CNP-Transaktionen) und die für Transaktionen mit Vorlage der Karte verfügbaren Funktionen (wie *Haftungsverlagerung* (With some 3D Secure transactions, the liability for fraudulent chargebacks (stolen or counterfeit cards) shifts from you to the card issuer) und [Preisgestaltung](https://stripe.com/terminal#pricing)) gelten nicht für diese nachfolgenden Belastungen. # iOS ## Kundin/Kunden erstellen Um eine Zahlungsmethode für zukünftige Zahlungen einzurichten, müssen Sie sie einem Objekt zuordnen, das Ihre Kundin/Ihre Kundin darstellt. Wenn Ihre Kundin/Kundin ein Konto erstellt oder die erste Transaktion mit Ihrem Unternehmen durchgeführt hat, erstellen Sie entweder ein kundenseitig konfiguriertes [Account](https://docs.stripe.com/api/v2/core/accounts/create.md)-Objekt mit der Accounts v2 API oder ein [Customer](https://docs.stripe.com/api/customers/create.md)-Objekt mit der Customers API. #### Accounts v2 ```curl curl -X POST https://api.stripe.com/v2/core/accounts \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-06-24.preview" \ --json '{ "contact_email": "jenny.rosen@example.com", "display_name": "Jenny Rosen", "configuration": { "customer": {} }, "include": [ "configuration.customer" ] }' ``` Bei erfolgreicher Erstellung wird das kundenkonfigurierte [Account](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-configuration-customer)-Objekt zurückgegeben. Sie können das Objekt bezüglich der Kunden-`id` überprüfen und den Wert zum späteren Abruf in Ihrer Datenbank speichern. #### Customers v1 ```curl curl https://api.stripe.com/v1/customers \ -u "<>:" \ -d "name=Jenny Rosen" \ --data-urlencode "email=jennyrosen@example.com" ``` Bei erfolgreicher Erstellung wird das [Customer](https://docs.stripe.com/api/customers/object.md)-Objekt zurückgegeben. Sie können das Objekt bezüglich der Kunden-`id` überprüfen und den Wert zum späteren Abruf in Ihrer Datenbank speichern. Sie finden diese Kundinnen/Kunden auf der Seite [Kundinnen/Kunden](https://dashboard.stripe.com/customers) im Dashboard. ## PaymentIntent erstellen - [PaymentIntent erstellen](https://docs.stripe.com/api/payment_intents/create.md) Fordern Sie eine `generated_card` an, wenn Sie einen `PaymentIntent` erstellen, indem Sie einen Wert für [setup_future_usage](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-setup_future_usage) angeben. Wenn Sie die Zahlungsmethode nur dann wiederverwenden möchten, wenn die Kundin/der Kunde im Bezahlvorgang anwesend ist, verwenden Sie `on_session`. Verwenden Sie andernfalls `off_session`. #### Accounts v2 ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d setup_future_usage=off_session \ -d amount=1000 \ -d currency=usd \ -d "payment_method_types[]=card_present" ``` #### Customers v1 ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d setup_future_usage=off_session \ -d amount=1000 \ -d currency=usd \ -d "payment_method_types[]=card_present" ``` > Visa-, Mastercard-, American Express-, Discover-, eftpos-, Interac- und girocard-Karten mit Co-Branding werden als `card_present`-Zahlungsmethoden unterstützt, die als Typ `card` gespeichert werden können. ## Zahlungsmethode erfassen und verarbeiten > Diese Funktion erfordert das iOS SDK v4.3.0 oder höher. > #### Terminal SDK-Support für Kundinnen und Kunden > > Wenn Sie `PaymentIntents` auf dem Client mithilfe des Terminal SDK erstellen und verwalten, müssen Sie `Customer`-Objekte verwenden. Das Terminal SDK unterstützt die Accounts v2 API nicht. - [collectPaymentMethod (iOS)](https://stripe.dev/stripe-terminal-ios/docs/Classes/SCPTerminal.html#/c:objc\(cs\)SCPTerminal\(im\)collectPaymentMethod:delegate:completion:) Wenn der Kunde/die Kundin zahlen möchte und der [Speicherung der Angaben zur Zahlungsmethode zugestimmt hat](https://docs.stripe.com/terminal/features/saving-payment-details/save-after-payment.md#compliance), übergeben Sie [allow_redisplay](https://docs.stripe.com/api/payment_methods/object.md#payment_method_object-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. #### Swift ```swift import UIKit import StripeTerminal class PaymentViewController: UIViewController, ReaderDisplayDelegate { // Label for displaying messages from the card reader let readerMessageLabel = UILabel(frame: .zero) var collectCancelable: Cancelable? = nil // ... // Action for a "Subscribe" button func subscribeAction() throws { let params = try PaymentIntentParametersBuilder().setCustomer(""{{CUSTOMER_ID}}"").build() Terminal.shared.createPaymentIntent(params) { createResult, createError in if let error = createError { print("createPaymentIntent failed: \(error)") } else if let paymentIntent = createResult { print("createPaymentIntent succeeded") let config = try CollectConfigBuilder().setAllowRedisplay(AllowRedisplay.always).build() self.collectCancelable = Terminal.shared.collectPaymentMethod(paymentIntent, config) { collectResult, collectError in if let error = collectError { print("collectPaymentMethod failed: \(error)") } else if let collectPaymentMethodPaymentIntent = collectResult { print("collectPaymentMethod succeeded") // ... Confirm the PaymentIntent Terminal.shared.confirmPaymentIntent(collectPaymentMethodPaymentIntent) { confirmResult, confirmError in if let error = confirmError { print("confirmPaymentIntent failed: \(error)") } else if let confirmedPaymentIntent = confirmResult { print("confirmPaymentIntent succeeded") } } } } } } } ``` ## Auf die generated_card zugreifen Eine erfolgreiche Zahlung mit einer Methode, die die künftige Verwendung unterstützt, gibt einen `PaymentIntent` im Status `requires_capture` oder `succeeded` zurück. Sie können die [generated_card](https://docs.stripe.com/api/charges/object.md#charge_object-payment_method_details-card_present-generated_card)-Zahlungsmethode abrufen, indem Sie die Eigenschaft [latest_charge](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-latest_charge) des `PaymentIntent` erweitern und [payment_method_details.card_present](https://docs.stripe.com/api/charges/object.md#charge_object-payment_method_details-card_present) aufrufen. Wenn Sie beim Erstellen des `PaymentIntent` die Kunden-ID übergeben haben, wird die wiederverwendbare `PaymentMethod` automatisch der Kundin/dem Kunden zugeordnet. Andernfalls können Sie sie in einem separaten Aufruf [manuell zuordnen](https://docs.stripe.com/api/payment_methods/attach.md). Überprüfen Sie immer, ob die [PaymentIntent.latest_charge](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-latest_charge) einen `generated_card`-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](https://docs.stripe.com/terminal/features/saving-payment-details/save-directly.md). - 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 Sie können gespeicherte mobile Wallets nur für [off_session](https://docs.stripe.com/api/payment_intents/confirm.md#confirm_payment_intent-off_session)-Zahlungen verwenden, die Sie im Namen Ihrer Kundinnen und Kunden initiieren, z. B. wiederkehrende Abonnementzahlungen. Wenn Sie eine Digital-Wallet-Zahlungsmethode speichern, hat die `generated_card` den Wert `allow_redisplay=limited`, um auf die spezifischen Nutzungseinschränkungen hinzuweisen. Wenn Sie versuchen, eine mobile Wallet zu verwenden, um eine Zahlung abzuwickeln, stellen Sie sicher, dass Sie `off_session` beim Bestätigen des `PaymentIntent` auf true setzen. Wenn der Kunde/die Kundin in Ihrem Bezahlvorgang anwesend ist, müssen Sie stattdessen die entsprechende mobile-Wallet-Integration verwenden, um sie zur Eingabe ihrer Zahlungsmethode aufzufordern. ## Compliance Sie sind dafür verantwortlich, dass Sie alle geltenden Gesetze, Vorschriften und Netzwerkregeln einhalten, wenn Sie die Zahlungsdaten einer Kundin/eines Kunden speichern. Beispielsweise hat der Europäische Datenschutz-Ausschuss Leitlinien zum Speichern von Zahlungsdaten herausgegeben. Diese Anforderungen gelten in der Regel, wenn Sie die Zahlungsmethode Ihrer Kundin/Ihres Kunden für die zukünftige Verwendung speichern möchten, zum Beispiel wenn Sie die Zahlungsmethode einer Kundin/eines Kunden im Bezahlvorgang für einen zukünftigen Kauf anzeigen möchten wenn sie die Kundin/den Kunden belasten möchten, während sie/er Ihre Website oder App nicht aktiv nutzt, eine MOTO-Bestellung aufgibt oder in Ihrem Geschäft einkauft. Binden Sie Konditionen in Ihren Bezahlvorgang ein, aus denen hervorgeht, wie Sie die Details der Zahlungsmethode speichern möchten, und ermöglichen Sie es den Kundinnen/Kunden, sich dafür anzumelden. Wenn Sie planen, ein Kundenkonto zu belasten, während ein Kunde/eine Kundin nicht aktiv den Bezahlvorgang durchläuft, müssen Sie mindestens sicherstellen, dass Ihre Konditionen auch Folgendes abdecken: - 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. Wenn Sie eine Zahlungsmethode speichern, können Sie sie nur für den in Ihren Konditionen festgelegten Zweck verwenden. Wenn Sie ein Kundenkonto belasten möchten, während ein Kunde/eine Kundin nicht aktiv den Bezahlvorgang durchläuft, und auch die Zahlungsmethode des Kunden/der Kundin speichern möchten, um sie ihm/ihr als gespeicherte Zahlungsmethode für zukünftige Einkäufe anzuzeigen, müssen Sie explizit die Zustimmung des Kunden/der Kundin einholen. Eine Möglichkeit, dies zu tun, ist das Kontrollkästchen „Meine Zahlungsmethode für die zukünftige Verwendung speichern“.