# Zum Bezahlen Karte auflegen Erfahren Sie, wie Sie kontaktlose Zahlungen auf einem kompatiblen iPhone oder Android-Gerät akzeptieren. Suchen Sie nach einer No-Code-Lösung? [Akzeptieren Sie Zahlungen über die Stripe-Dashboard-Mobile-App](https://docs.stripe.com/no-code/in-person.md). # iPhone > This is a iPhone for when platform is ios. View the full page at https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay?platform=ios. Verwenden Tap to Pay auf dem iPhone, um kontaktlose persönliche Zahlungen mit einem [kompatiblen iPhone](https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay.md?platform=ios#supported-devices) zu akzeptieren. Tap to Pay auf dem iPhone unterstützt kontaktlose Karten von Visa, Mastercard und American Express sowie NFC-basierte mobile Wallets (Apple Pay, Google Pay und Samsung Pay). Die Eingabe einer PIN wird unterstützt. Darüber hinaus wird Discover in den USA, Interac in Kanada und eftpos in Australien unterstützt. Stripe enthält Tap to Pay auf dem iPhone im Terminal iOS SDK und im Terminal React Native SDK und ermöglicht Zahlungen direkt in Ihrer mobilen iOS-App. > Für Plattformen unterliegt die Nutzung von Tap to Pay auf dem iPhone den [Nutzungsbedingungen der Apple Acceptance Platform](https://stripe.com/legal/apple-acceptance-platform). ### Verfügbarkeit - AU - CA - CZ - DE - ES - FR - GB - IE - IT - NL - NZ - PL - PT - SE - US > Tap to Pay auf dem iPhone ist in Puerto Rico nicht verfügbar. ### Verfügbarkeit in (Public preview) - AT - BE - CH - DK - FI - JP - LU - NO ## Jetzt starten #### iOS Tap to Pay auf dem iPhone führt eine [SCPDiscoveryMethodTapToPay](https://stripe.dev/stripe-terminal-ios/docs/Enums/SCPDiscoveryMethod.html#/c:@E@SCPDiscoveryMethod@SCPDiscoveryMethodTapToPay)-Erkennungsoption und eine [connectReader](https://stripe.dev/stripe-terminal-ios/docs/Classes/SCPTerminal.html#/c:objc\(cs\)SCPTerminal\(im\)connectReader:delegate:connectionConfig:completion:)-Methode ein. Integrieren Sie die neueste Version des [Terminal iOS SDK](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=ios), um die neuesten Fehlerbehebungen und Funktionen aufzunehmen. Versionsspezifische Updates und Fehlerbehebungen können Sie im [SDK-Änderungsprotokoll](https://github.com/stripe/stripe-terminal-ios/blob/master/CHANGELOG.md) anzeigen. Die Anforderungen an das Gerät und die SDK-Mindestversion können sich aufgrund von aktualisierten Konformitätsanforderungen oder Sicherheitslücken ändern. Um sicherzustellen, dass Ihre Lösung den Tap to Pay-Anforderungen entspricht, abonnieren Sie bitte [terminal-announce@lists.stripe.com](https://groups.google.com/a/lists.stripe.com/g/terminal-announce). So aktivieren Sie Tap to Pay in Ihrer iOS-Anwendung: 1. [Anfordern](https://developer.apple.com/documentation/proximityreader/setting-up-the-entitlement-for-tap-to-pay-on-iphone?language=objc) einer Berechtigung. 1. Das Terminal iOS SDK [einrichten](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=iOS). 1. Mit dem Tap-to-Pay-Lesegerät [verbinden](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=ios&reader-type=tap-to-pay). 1. Zahlung mit dem Tap-to-Pay-Lesegerät [einziehen](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=ios). ### Berechtigungen und Builddatei Um Tap to Pay auf dem iPhone zu verwenden, um Zahlungen in Ihrer Anwendung zu akzeptieren, müssen Sie zunächst [die Entwicklungsberechtigung für Tap to Pay auf dem iPhone über Ihr Apple-Entwickler-Konto ](https://developer.apple.com/documentation/proximityreader/setting-up-the-entitlement-for-tap-to-pay-on-iphone?language=objc) anfragen und konfigurieren. Nachdem Sie die internen Tests abgeschlossen haben, müssen Sie eine Vertriebsberechtigung anfragen. Nachdem Sie die Entwicklungsberechtigungsdatei zu Ihrem App-Build-Target hinzugefügt haben, fügen Sie Folgendes hinzu: | Schlüssel | `com.apple.developer.proximity-reader.payment.acceptance` | | --------- | --------------------------------------------------------- | | Wertetyp | `boolean` | | Wert | `true` oder `1` | Die Implementierung von Tap to Pay auf dem iPhone ist ein komplexer Prozess, bei dem Sie Ihre App bei Apple zur Genehmigung einreichen müssen. Für detaillierte Anweisungen können Sie unseren Leitfaden herunterladen: [Leitfaden für Tap to Pay (PDF)](https://docs.stripecdn.com/fd6123a72c0ea6d22019c125f9a35d855fe859b4e327faeb89a2934091830744.pdf) #### React Native Tap to Pay auf dem iPhone führt eine [tapToPay](https://stripe.dev/stripe-terminal-react-native/api-reference/modules/Reader.IOS.html#DiscoveryMethod)-Erkennungsoption und eine [ConnectReader](https://stripe.dev/stripe-terminal-react-native/api-reference/interfaces/StripeTerminalSdkType.html#connectreader-1)-Methode ein. Integrieren Sie die neueste Version des [Terminal React Native SDK](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=react-native), um die neuesten Fehlerbehebungen und Funktionen einzubeziehen. Versionsspezifische Updates und Fehlerbehebungen können Sie im [SDK-Änderungsprotokoll](https://github.com/stripe/stripe-terminal-android/blob/master/CHANGELOG.md) anzeigen. Die Anforderungen an das Gerät und die SDK-Mindestversion können sich aufgrund von aktualisierten Konformitätsanforderungen oder Sicherheitslücken ändern. Um sicherzustellen, dass Ihre Lösung den Tap to Pay-Anforderungen entspricht, abonnieren Sie bitte [terminal-announce@lists.stripe.com](https://groups.google.com/a/lists.stripe.com/g/terminal-announce). So aktivieren Sie Tap to Pay in Ihrer Anwendung: 1. [Anfordern](https://developer.apple.com/documentation/proximityreader/setting-up-the-entitlement-for-tap-to-pay-on-iphone?language=objc) einer Berechtigung. 1. Das Terminal iOS SDK [einrichten](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=react-native). 1. Stellen Sie eine [Verbindung](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=react-native&reader-type=tap-to-pay) mit dem Tap-to-Pay-Lesegerät her. 1. Zahlung mit dem Tap-to-Pay-Lesegerät [einziehen](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=react-native). ### Berechtigungen und Builddatei Um Tap to Pay auf dem iPhone zu verwenden, um Zahlungen in Ihrer Anwendung zu akzeptieren, müssen Sie zunächst [die Entwicklungsberechtigung für Tap to Pay auf dem iPhone über Ihr Apple-Entwickler-Konto ](https://developer.apple.com/documentation/proximityreader/setting-up-the-entitlement-for-tap-to-pay-on-iphone?language=objc) anfragen und konfigurieren. Nachdem Sie die internen Tests abgeschlossen haben, müssen Sie eine Vertriebsberechtigung anfragen. Nachdem Sie die Entwicklungsberechtigungsdatei zu Ihrem App-Build-Target hinzugefügt haben, fügen Sie Folgendes hinzu: | Schlüssel | `com.apple.developer.proximity-reader.payment.acceptance` | | --------- | --------------------------------------------------------- | | Wertetyp | `boolean` | | Wert | `true` oder `1` | Die Implementierung von Tap to Pay auf dem iPhone ist ein komplexer Prozess, bei dem Sie Ihre App bei Apple zur Genehmigung einreichen müssen. Für detaillierte Anweisungen können Sie unseren Leitfaden herunterladen: [Leitfaden für Tap to Pay (PDF)](https://docs.stripecdn.com/fd6123a72c0ea6d22019c125f9a35d855fe859b4e327faeb89a2934091830744.pdf) ## Unterstützte Geräte Für Tap to Pay ist mindestens ein iPhone XS mit einer iOS-Version von mindestens einem Jahr erforderlich. In der [Dokumentation zum Unternehmensregister von Apple](https://register-docs.apple.com/tap-to-pay-on-iphone/docs/sdk-and-api-guide#ios-versions-and-deprecation-management) sind die unterstützten iOS-Versionen aufgelistet. Empfehlen Sie Ihren Nutzerinnen und Nutzern, auf die neueste iOS-Version zu aktualisieren, um eine optimale Leistung zu erzielen. > Tap to Pay funktioniert nicht in Beta-Versionen von iOS. ## Limitierungen und Lösungen bei der Verifizierung des/der Karteninhabers/in Einige kontaktlose Kartentransaktionen über [bestimmten Beträgen](https://support.stripe.com/questions/what-are-the-regional-contactless-limits-for-stripe-terminal-transactions) erfordern möglicherweise zusätzliche Verifizierungsmethoden für Karteninhaber/innen (CVM) wie die PIN-Eingabe. Tap to Pay auf dem iPhone unterstützt die PIN-Eingabe für Geräte mit iOS 16.4 oder höher. Für NFC-Wallet-Zahlungen (Apple Pay, Google Pay und Samsung Pay) ist normalerweise keine PIN erforderlich. Im Vereinigten Königreich, in Kanada und Finnland können sich jedoch regionale Anforderungen und die Richtlinien für Kartenaussteller/innen auf kontaktlose Zahlungen auswirken. Im Vereinigten Königreich erfordert die starke Kundenauthentifizierung je nach Aussteller/in möglicherweise, dass einige Karten in ein Gerät eingesteckt werden. In solchen Fällen, wenn die Karte nicht eingeführt wird, wird die Zahlung abgelehnt, bevor der PIN-Bildschirm angezeigt wird, mit dem Grund `offline_pin_required`. In Kanada und Finnland können viele ausgestellte Karten nur mit Offline-PIN verwendet werden. Dies bedeutet, dass die Eingabe der PIN physischen Kontakt erfordert, z. B. das Einstecken in ein Gerät, was von Tap to Pay nicht unterstützt wird. In solchen Szenarien empfehlen wir, den Kunden/die Kundin zu bitten, eine andere Karte zu verwenden oder die Zahlung auf eine andere Weise einzuziehen. Zum Beispiel über ein Terminal-Kartenlesegerät oder indem ein [Zahlungslink](https://docs.stripe.com/payment-links.md) gesendet wird. Halten Sie beim Zahlungseinzug mit Ihrem Mobilgerät die Karte so lange an das Lesegerät, bis die Chip-Informationen gelesen werden. Möglicherweise müssen Sie nach der ersten Vibration einige Sekunden warten, wenn die Karte den Kontakt herstellt. Verwenden Sie im Falle einer Ablehnung eine andere Zahlungsmethode, z. B. ein Terminal-Kartenlesegerät. Es ist jeweils nur eine aktive Verbindung zu einem Lesegerät möglich. Um die PIN-Eingabe in Märkten zu testen, in denen die PIN akzeptiert wird, verwenden Sie [physische Testkarten](https://docs.stripe.com/terminal/references/testing.md#physical-test-cards) mit Beträgen, die auf 0,03 enden. In Märkten, in denen die PIN nicht akzeptiert wird, gibt eine Transaktion, die auf 0,03 endet, nach dem Auflegen der Karte einen `online_or_offline_pin_required`-Fehlercode zurück, anstatt dem/der Nutzer/in zu ermöglichen, die PIN-Eingabe zu testen. ## Best Practices und Werberichtlinien Befolgen Sie die [Richtlinien zur standardisierten Gestaltung der Nutzerschnittstelle (Human Interface Guidelines)](https://developer.apple.com/design/human-interface-guidelines/technologies/tap-to-pay-on-iphone/) für Tap to Pay auf dem iPhone, um ein optimales Nutzererlebnis und einen erfolgreichen Überprüfungsprozess bei Apple zu gewährleisten. Ziehen Sie Folgendes in Betracht: - Verbindung zum Lesegerät beim Start der App im Hintergrund, um die Wartezeiten beim Einzug einer Zahlung zu verkürzen. - Verwenden Sie die [automatische Wiederverbindung](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=ios&reader-type=tap-to-pay#automatically-attempt-reconnection), um die Verbindung zum Lesegerät wiederherzustellen, wenn die App in den Vordergrund kommt, um Wartezeiten zu reduzieren. - Bieten Sie Ihren Nutzerinnen und Nutzern Informationen zum Annehmen von kontaktlosen Zahlungen auf einem kompatiblen iPhone an, indem sie Schulungen für Händler/innen anbieten, einschließlich Werbung über Produkte und Text- oder E-Mail-Benachrichtigungen. Weitere Informationen finden Sie in den [Marketing-Leitfäden für Entwickler/innen](https://developer.apple.com/tap-to-pay/marketing-guidelines/) von Apple. Mit iOS 18 können Sie die [ProximityReaderDiscovery API](https://developer.apple.com/documentation/proximityreader/proximityreaderdiscovery) von Apple verwenden, um mit nur wenigen Codezeilen Händlerschulungen für Tap to Pay auf dem iPhone bereitzustellen. Apple stellt sicher, dass die Inhalte aktuell und für die Region Ihres Händlers/Ihrer Händlerin lokalisiert sind. - Starten und bewerben Sie Ihre Tap to Pay on iPhone-Marketingkampagnen mit unseren Messaging-Vorlagen und Design-Assets und befolgen Sie dabei die [Markenrichtlinien von Apple](https://developer.apple.com/tap-to-pay/marketing-guidelines/#editorial-guidelines). Werden Sie [hier](https://stripe.com/partners/become-a-partner) Stripe-Partner, um auf diese Ressourcen im [Partnerportal](https://portal.stripe.partners/s) zuzugreifen. # Android > This is a Android for when platform is android. View the full page at https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay?platform=android. Verwenden Sie Tap to Pay auf Android, um persönliche kontaktlose Zahlungen mit [kompatiblen NFC-fähigen Android-Geräten](https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay.md?platform=android#supported-devices) zu akzeptieren. Tap to Pay auf Android unterstützt Visa, Mastercard, kontaktlose American Express- und Discover-Karten sowie NFC-basierte mobile Wallets (Apple Pay, Google Pay und Samsung Pay). Die PIN-Eingabe wird unterstützt. Darüber hinaus wird eftpos in Australien unterstützt und Interac befindet sich in Kanada in der öffentlichen Vorschau. Stripe integriert Tap to Pay auf Android in das Terminal Android SDK und das Terminal React Native SDK und ermöglicht Zahlungen direkt in Ihrer Android-Mobil-App. ### Verfügbarkeit - AT - AU - BE - CH - DE - DK - FI - FR - GB - IE - IT - MY - NL - NZ - PL - SE - SG - US ### Verfügbarkeit in (Public preview) - CA - CZ - ES - LU - NO - PT ## Jetzt starten #### Android Integrieren Sie die neueste Version des [Terminal Android SDK](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=android), um die aktuellen Fehlerbehebungen und Funktionen zu erhalten. Versionsspezifische Updates und Fehlerbehebungen können Sie im [SDK-Änderungsprotokoll](https://github.com/stripe/stripe-terminal-android/blob/master/CHANGELOG.md) einsehen. Die Anforderungen an das Gerät und die SDK-Mindestversion können sich aufgrund von aktualisierten Konformitätsanforderungen oder Sicherheitslücken ändern. Um sicherzustellen, dass Ihre Lösung den Tap to Pay-Anforderungen entspricht, abonnieren Sie bitte [terminal-announce@lists.stripe.com](https://groups.google.com/a/lists.stripe.com/g/terminal-announce). So aktivieren Sie Tap to Pay in Ihrer Android-Anwendung: 1. [Richten Sie](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=android) das Terminal Android SDK ein. 1. Ersetzen Sie Ihre bestehenden `stripeterminal`-Abhängigkeiten durch die folgenden Abhängigkeiten: #### Kotlin ```kotlin dependencies { implementation("com.stripe:stripeterminal-taptopay:5.0.0") implementation("com.stripe:stripeterminal-core:5.0.0") // ... } ``` #### Groovy ```groovy dependencies { implementation "com.stripe:stripeterminal-taptopay:5.0.0" implementation "com.stripe:stripeterminal-core:5.0.0" // ... } ``` 1. [Stellen Sie eine Verbindung](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=android&reader-type=tap-to-pay) mit dem Tap-to-Pay-Lesegerät her. 1. Zahlung mit dem Tap-to-Pay-Lesegerät [einziehen](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=android). #### React Native Integrieren Sie die neueste Version des [Terminal React Native SDK](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=react-native), um die neuesten Fehlerbehebungen und Funktionen einzuschließen. Die Anforderungen an das Gerät und die SDK-Mindestversion können sich aufgrund von aktualisierten Compliance-Anforderungen oder Sicherheitslücken ändern. Um sicherzustellen, dass Ihre Lösung den Tap to Pay-Anforderungen entspricht, abonnieren Sie [terminal-announce@lists.stripe.com](https://groups.google.com/a/lists.stripe.com/g/terminal-announce). So aktivieren Sie Tap to Pay in Ihrer Anwendung: 1. [Richten Sie](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=react-native) das Terminal React Native SDK ein. 1. Stellen Sie eine [Verbindung](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=react-native&reader-type=tap-to-pay) mit dem Tap-to-Pay-Lesegerät her. 1. Zahlung mit dem Tap-to-Pay-Lesegerät [einziehen](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=react-native). ## Unterstützte Geräte Tap to Pay auf Android funktioniert mit einer Vielzahl von Android-Geräten wie Mobiltelefonen, Kiosken, Tablets, Handheld-Geräten usw. Sie können nur Geräte erkennen und eine Verbindung mit ihnen herstellen, wenn diese alle folgenden Kriterien erfüllen: - Verfügt über einen funktionierenden, integrierten NFC-Sensor und einen ARM-basierten Prozessor - Ist nicht gerootet und der Bootloader des Geräts ist gesperrt und unverändert - Führt Android 13 oder höher aus - Nutzt Google Mobil Services und hat die Google Play Store-App installiert - Hat einen Keystore mit Hardware-Support für ECDH ([`FEATURE_HARDWARE_KEYSTORE`](https://developer.android.com/reference/android/content/pm/PackageManager#FEATURE_HARDWARE_KEYSTORE) Version muss 100 oder höher sein) - Eine stabile Internetverbindung - Führt das vom Hersteller bereitgestellte, unveränderte Betriebssystem aus > Tap to Pay funktioniert nicht mit Beta-Versionen von Android. Android-Geräteemulatoren werden von Tap to Pay nicht unterstützt. Die gleichen Geräteanforderungen werden im simulierten und im Produktions-Lesegerät durchgesetzt, um Entwicklern und Entwicklerinnen ein möglichst realistisches Testerlebnis zu bieten. ### Gerätetypen Zu den unterstützten Gerätetypen gehören unter anderem: | Gerätetyp | Hersteller | Modelle | | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ----------------------------------------- | | Countertop | [Sunmi](https://partner.posportal.com/stripe/stripe/catalog/category/view/id/11/) | D3 MINI, V3 MIX | | Handheld | Amobile | PD602 | | Honeywell | CT37, CT47 | | Chainway | C66 | | Ciontek | CS50C | | iMin | Swift 2 Pro | | [Sunmi](https://partner.posportal.com/stripe/stripe/catalog/category/view/id/11/) | L3, V3 | | ZCS | Z92 | | Zebra | TC53, TC53E | | Kiosk | [Sunmi](https://partner.posportal.com/stripe/stripe/catalog/category/view/id/11/) | FLEX 3, K2 | | Anmelden | iMin | Falcon2 | | [Sunmi](https://partner.posportal.com/stripe/stripe/catalog/category/view/id/11/) | D3 PRO, T3 PRO | | Tablet | Samsung Galaxy Tab | Active Pro, Active3, Active4 Pro, Active5 | | HMD Global | HMD T21 | | Hosoton | H101 | | Oukitel | RT3 | | Ulefone | Armor Pad Pro | Einige Hersteller produzieren sowohl GMS- als auch Nicht-GMS-zertifizierte Geräte. Wenn Sie ein Gerät verwenden, das nicht von GMS zertifiziert ist, erhalten Sie beim Versuch, eine Verbindung herzustellen, die folgende Fehlermeldung `ATTESTATION_FAILURE: Device is not Google Mobile Services (GMS) certified`. Wenden Sie sich in diesem Fall an den Hersteller, um das Problem zu beheben. ### Mobiltelefone Unterstützte Mobiltelefone sind unter anderem: | Hersteller | Modelle | | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Asus | Zenphone 9 | | Google | Pixel 6, Pixel 6a, Pixel 7, Pixel 7a, Pixel 8, Pixel 8a, Pixel 9, Pixel 9a, Pixel 10 | | Nokia | G22, G310, G42, G60, X10, X20, X30 | | Honor | 70, 70 Lite, 90, 90 Lite, 90 Smart, Magic5, Magic6, Magic7, X6, X7, X8, X9 | | Infinix | Hot 40 Pro, HOT 60i | | LG | V60 ThinQ | | Motorola | Moto GX4, Moto GX5, G 2023, Edge 2023, G 2024, Edge 2024, G 2025, Edge 2025 | | OnePlus | Nord 4, Nord CE3, Nord CE4, Nord N30, 12, 12R, 13, 13R | | Oppo | A60, A74, A77, A78, A79, A98, A98, FindX2 Pro, Find X2 Lite, Find X3 Pro, Find X5 Pro, Reno8, Reno10, Reno11, Reno12, Reno13, Reno14 | | Samsung Galaxy | A04s, A05s, A13, A14, A15, A16, A17, A22, A23, A24, A25, A26, A32, A33, A34, A35, A36, A42, A42s, A53, A54, A55, A56, A71, A72, A73, Note20, S22, S23, S24, S25, Z Flip3, Z Fold3, Z Flip4, Z Fold4, Z Flip5, Z Fold5, Z Flip6, Z Fold6, Z Flip7, Z Fold7 | | Xiaomi | 12, 12S, 12T, 13, 13T, 14, 14T, 15, 15T, Redmi 10, Redmi 12, Redmi 12C, Redmi 13, Redmi 13C, Redmi 14C, Redmi 15, Redmi Note 10, Redmi Note 11, Redmi Note 12, Redmi Note 13, Redmi Note 14 | ## Nutzeroberfläche Tap to Pay auf Android enthält Bildschirme für den Zahlungseinzug. Wenn Ihre Anwendung bereit ist, eine Zahlung einzuziehen, übernimmt das Stripe Terminal-SDK die Anzeige, um den Zahlungsvorgang abzuwickeln. Nachdem Sie die [Zahlungsmethode zur Abwicklung](https://docs.stripe.com/terminal/payments/collect-card-payment.md#process-payment) aufgerufen haben, wird Ihre Anwendung weiterhin ausgeführt, während Tap to Pay eine Vollbildaufforderung anzeigt, die die Karteninhaber/innen anweist, ihre Karte oder NFC-basierte mobile Wallet anzutippen. Wenn beim Lesen der Karte ein Fehler auftritt, wird eine Aufforderung zum erneuten Versuch angezeigt. Ein erfolgreiches Antippen gibt eine Erfolgsanzeige zurück und dann kehrt die Kontrolle zu Ihrer Anwendung zurück. ### Gerätespezifische NFC-Tap-Zone Das Tap-to-Pay-on-Android-SDK verschiebt den Tap-Zonen-Indikator automatisch, um der Endkundin/dem Endkunden zu verdeutlichen, wo sich die Tap-Zone auf dem Gerät befindet. Sehen Sie Beispiele dafür, wie die UX in der Praxis aussehen könnte: ![Beispiel für einen generischen Tap-Bildschirm](https://b.stripecdn.com/docs-statics-srv/assets/ttp-android-default.6da0eaaef1aa15fe8986a2a633e11fdb.gif) Generischer Tap-Bildschirm ![Beispiel für einen gerätespezifischen Tap-Bildschirm](https://b.stripecdn.com/docs-statics-srv/assets/ttp-android-device-specific.625dc1a08f5576c6b1d7588a8599f74b.gif) Gerätespezifischer Tap-Bildschirm ### Konfiguration der Nutzeroberfläche #### Android - [TapToPayUxConfiguration (Android)](https://stripe.dev/stripe-terminal-android/external/com.stripe.stripeterminal.external.models/-tap-to-pay-ux-configuration/index.html) Sie können den Standard-Tap-Bildschirm mithilfe des Terminal Android SDK überschreiben, einschließlich der Farben der Tap-Zone, der Fehlermeldung, der Erfolgsanimation und der Position des Tap-Zonen-Indikators. Rufen Sie diese Methode während der Initialisierung oder des Verbindungsprozesses zum Lesegerät auf. Sie können diese Funktion mehrfach aufrufen, wenn Sie das Erscheinungsbild des Tap-Bildschirms während der Laufzeit Ihrer Anwendung anpassen müssen. Diese Methode wirkt sich nur auf das Erscheinungsbild des Tap-Bildschirms aus und beeinflusst nicht den PIN-Erfassungsbildschirm oder die simulierte Zahlungsaufforderung. #### Kotlin ```kotlin val config = TapToPayUxConfiguration.Builder() .tapZone( TapToPayUxConfiguration.TapZone.Front(0.5f, 0.3f) ) .colors( TapToPayUxConfiguration.ColorScheme.Builder() .primary(TapToPayUxConfiguration.Color.Value(Color.parseColor("#FF008686"))) .success(TapToPayUxConfiguration.Color.Default) .error(TapToPayUxConfiguration.Color.Resource(android.R.color.holo_red_dark)) .build() ) .darkMode( TapToPayUxConfiguration.DarkMode.DARK ) .build() Terminal.getInstance().setTapToPayUxConfiguration(config) ``` #### Java ```java TapToPayUxConfiguration config = new TapToPayUxConfiguration.Builder() .tapZone( new TapToPayUxConfiguration.TapZone.Front(0.5f, 0.3f) ) .colors( new TapToPayUxConfiguration.ColorScheme.Builder() .primary(new TapToPayUxConfiguration.Color.Value(Color.parseColor("#FF008686"))) .success(TapToPayUxConfiguration.Color.Default.INSTANCE) .error(new TapToPayUxConfiguration.Color.Resource(android.R.color.holo_red_dark)) .build() ) .darkMode( TapToPayUxConfiguration.DarkMode.DARK ) .build(); Terminal.getInstance().setTapToPayUxConfiguration(config); ``` #### React Native - [TapToPayUxConfiguration (React Native)](https://stripe.dev/stripe-terminal-react-native/api-reference/types/TapToPayUxConfiguration.html) Sie können den Standard-Tap-Bildschirm mithilfe des Terminal React Native SDK überschreiben, einschließlich der Farben der Tap-Zone, der Fehlermeldung, der Erfolgsanimation und der Position des Tap-Zonen-Indikators. Rufen Sie diese Methode während der Initialisierung oder des Verbindungsprozesses zum Lesegerät auf. Sie können diese Funktion mehrfach aufrufen, wenn Sie das Erscheinungsbild des Tap-Bildschirms während der Laufzeit Ihrer Anwendung anpassen müssen. Diese Methode wirkt sich nur auf das Erscheinungsbild des Tap-Bildschirms aus und beeinflusst nicht den PIN-Erfassungsbildschirm oder die simulierte Zahlungsaufforderung. ```js import { useStripeTerminal, TapZoneIndicator, DarkMode, } from '@stripe/stripe-terminal-react-native'; const { setTapToPayUxConfiguration } = useStripeTerminal(); const callSetTapToPayUxConfiguration = async () => { let tapZoneIndicator = TapZoneIndicator.FRONT; let tapZonePosition = { xBias: 0.5, yBias: 0.3, }; let tapZone = { tapZoneIndicator: tapZoneIndicator, tapZonePosition: tapZonePosition, }; let darkMode = DarkMode.DARK; let colors = { primary: '#FF008686', error: '#FFCC0000', }; let config = { tapZone: tapZone, darkMode: darkMode, colors: colors, }; const { error } = await setTapToPayUxConfiguration(config); if (error) { console.log('setTapToPayUxConfiguration error', error); return; } console.log('setTapToPayUxConfiguration success'); }; ``` ## Limitierungen und Lösungen bei der Verifizierung des/der Karteninhabers/in Einige kontaktlose Kartentransaktionen [über bestimmten Beträgen](https://support.stripe.com/questions/what-are-the-regional-contactless-limits-for-stripe-terminal-transactions) erfordern möglicherweise zusätzliche Verifizierungsmethoden für Karteninhaber/innen (CVM) wie die PIN-Eingabe. Tap to Pay auf Android unterstützt die PIN-Eingabe auf Terminal Android SDK [4.3.0](https://github.com/stripe/stripe-terminal-android/releases/tag/v4.3.0) oder höher. Die PIN wird in zwei Szenarien erfasst: 1. Der Transaktionsbetrag liegt über dem [Grenzwert für die Karteninhaber-Verifizierungsmethode (Cardholder Verification Method, CVM)](https://support.stripe.com/questions/what-are-the-regional-contactless-limits-for-stripe-terminal-transactions). In diesem Fall wird die PIN erfasst, bevor [collectPaymentMethod](https://stripe.dev/stripe-terminal-android/core/com.stripe.stripeterminal/-terminal/collect-payment-method.html) zurückkehrt. Der Fokus kehrt zu Ihrer Anwendung zurück, nachdem die PIN eingegeben wurde oder die Erfassung der PIN abgebrochen wurde. ![Tap to Pay auf Android – lokaler PIN-Ablauf](https://b.stripecdn.com/docs-statics-srv/assets/ttpa_local_pin_flow.61727b001c3ae7bbf242346df477c94d.png) 1. Der/die Aussteller/in stellt eine Anfrage zur [starken Kundenauthentifizierung (SCA)](https://stripe.com/guides/strong-customer-authentication). In diesem Fall wird die PIN während [confirmPaymentIntent](https://stripe.dev/stripe-terminal-android/core/com.stripe.stripeterminal/-terminal/confirm-payment-intent.html) abgefragt. Nach confirmPaymentIntent kehrt der Fokus zu Ihrer Anwendung zurück, es sei denn, der/die Aussteller/in fordert eine PIN an. In diesem Fall liegt der Fokus wieder auf der PIN-Erfassung, bis die PIN eingegeben oder die PIN-Erfassung abgebrochen wird. ![Tap to Pay auf Android – SCA-PIN-Ablauf](https://b.stripecdn.com/docs-statics-srv/assets/ttpa_sca_pin_flow.01233cc8e22c1249bbd34a8180b22030.png) ### Umgang mit PIN-Fehlern Sie können eine PIN nur unter den folgenden Bedingungen erfassen: - [Entwickleroptionen](https://developer.android.com/studio/debug/dev-options) sind deaktiviert. - [Barrierefreiheitsdienste](https://developer.android.com/guide/topics/ui/accessibility/service) sind nicht registriert oder werden nicht ausgeführt. - Die [Bildschirmaufzeichnung](https://support.google.com/android/answer/9075928) ist nicht aktiv. - Es gibt keine [Bildschirmüberlagerungsfenster](https://developer.android.com/privacy-and-security/risks/tapjacking) - Sie verfügen über eine aktive Internetverbindung. Die PIN-Erfassung schlägt auch fehl, wenn eine Partei versucht, einen Screenshot zu erstellen. Wenn die PIN-Erfassung aufgrund eines dieser Faktoren fehlschlägt, erhalten Sie den Fehler `TAP_TO_PAY_INSECURE_ENVIRONMENT` mit zusätzlichen Informationen zur Fehlerursache. Wir empfehlen, dem/der Nutzer/in die Möglichkeit zu geben, die Zahlung erneut zu versuchen, um ihn/sie zur Eingabe einer PIN aufzufordern. ### Überlegungen zu regionalen PINs Für NFC-Wallet-Zahlungen (Apple Pay, Google Pay und Samsung Pay) ist normalerweise keine PIN erforderlich. Im Vereinigten Königreich, in Kanada und Finnland können sich jedoch regionale Anforderungen und die Richtlinien für Kartenaussteller/innen auf kontaktlose Zahlungen auswirken. Im Vereinigten Königreich erfordert die starke Kundenauthentifizierung je nach Aussteller/in möglicherweise, dass einige Karten in ein Gerät eingesteckt werden. In solchen Fällen, wenn die Karte nicht eingeführt wird, wird die Zahlung abgelehnt, bevor der PIN-Bildschirm angezeigt wird, mit dem Grund `offline_pin_required`. In Kanada und Finnland können viele ausgestellte Karten nur mit Offline-PIN verwendet werden. Dies bedeutet, dass die Eingabe der PIN physischen Kontakt erfordert, z. B. das Einstecken in ein Gerät, was von Tap to Pay nicht unterstützt wird. In solchen Szenarien empfehlen wir, den Kunden/die Kundin zu bitten, eine andere Karte zu verwenden oder die Zahlung auf eine andere Weise einzuziehen. Zum Beispiel über ein Terminal-Kartenlesegerät oder indem ein [Zahlungslink](https://docs.stripe.com/payment-links.md) gesendet wird. Halten Sie beim Zahlungseinzug mit Ihrem Mobilgerät die Karte so lange an das Lesegerät, bis die Chip-Informationen gelesen werden. Möglicherweise müssen Sie nach der ersten Vibration einige Sekunden warten, wenn die Karte den Kontakt herstellt. Verwenden Sie im Falle einer Ablehnung eine andere Zahlungsmethode, z. B. ein Terminal-Kartenlesegerät. Es ist jeweils nur eine aktive Verbindung zu einem Lesegerät möglich. ### PIN UX Aus Sicherheitsgründen wird das PIN-Pad nicht immer in der Mitte des Bildschirms angezeigt. Es erscheint an einer zufällig festgelegten Position. ![Tap to Pay auf Android – Bildschirm zur PIN-Erfassung](https://b.stripecdn.com/docs-statics-srv/assets/ttpa_pin_screen.3404e73a3567a63bfdea0a456871c65e.png) Ein nicht in der Mitte angeordnetes PIN-Pad ist ein zu erwartendes Verhalten. ## Best Practices und Werberichtlinien Sorgen Sie für ein optimales Nutzererlebnis, indem Sie Folgendes beachten: - Verbindung zum Lesegerät beim Start der App im Hintergrund, um die Wartezeiten beim Einzug einer Zahlung zu verkürzen. - Verwenden Sie die [automatische Wiederverbindung](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=android&reader-type=tap-to-pay#automatically-attempt-reconnection), um die Verbindung zum Lesegerät wiederherzustellen, wenn die App in den Vordergrund kommt, um Wartezeiten zu reduzieren. - Stellen Sie Ihren Nutzern/Nutzerinnen Informationen zum Annehmen von kontaktlosen Zahlungen auf einem kompatiblen Android-Gerät zur Verfügung, indem sie Schulungen für Händler anbieten, einschließlich Werbung über Produkte und Text- oder E-Mail-Benachrichtigungen. - Starten und bewerben Sie Ihre Tap to Pay on Android-Marketingkampagnen mit unseren Messaging-Vorlagen und Design-Assets. Werden Sie [hier](https://stripe.com/partners/become-a-partner) Stripe-Partner, um auf diese Ressourcen im [Partnerportal](https://portal.stripe.partners/s/login/?language=en_US&ec=302&startURL=%2Fs%2F) zuzugreifen. ## Nächste Schritte - [Integration einrichten](https://docs.stripe.com/terminal/payments/setup-integration.md)