# Collecter les données des paiements NFC sans contact Utilisez Terminal pour la collecte de données des instruments NFC avec les interfaces matérielles du lecteur. > Demandez l’accès à la collecte de données en version bêta privée en envoyant un e-mail à [terminal-collect-data@stripe.com](mailto:terminal-collect-data@stripe.com). Indiquez votre cas d’usage, votre appareil Terminal et votre type d’intégration. Utilisez le SDK Terminal et l’interface sans contact du lecteur pour lire l’identifiant unique (UID) des instruments NFC, tels que des cartes ou des bracelets. Cette fonctionnalité est disponible hors ligne. Après avoir présenté votre instrument NFC, Stripe fournit un objet des données collectées avec l’UID NFC, ou une erreur en cas de problème. > #### Avertissement : > > Vous ne pouvez pas utiliser cette fonctionnalité pour encaisser des paiements par carte. Suivez [ces instructions](https://docs.stripe.com/terminal/payments/collect-card-payment.md) pour encaisser des paiements à l’aide de Stripe Terminal. La collecte des données captées pour les instruments NFC est disponible sur : - [Lecteur Stripe S700/S710](https://docs.stripe.com/terminal/readers/stripe-reader-s700-s710.md) et [Stripe M2](https://docs.stripe.com/terminal/readers/stripe-m2.md) # iOS > This is a iOS for when terminal-sdk-platform is ios. View the full page at https://docs.stripe.com/terminal/features/collect-nfc-data?terminal-sdk-platform=ios. ## Collecter des données - [collectData (iOS)](https://stripe.dev/stripe-terminal-ios/docs/Classes/SCPTerminal.html#/c:objc\(cs\)SCPTerminal\(im\)collectData:completion:) Utilisez `Terminal.collectData()` pour demander la collecte des données à partir de votre application de point de vente. Spécifiez le type de données que vous souhaitez recevoir, comme `.nfcUid`, dans une configuration transmise à la fonction. Une fois qu’un client touche un instrument NFC, le SDK collecte un objet de données avec l’UID NFC ou renvoie une erreur si la lecture a échoué. > Sur les lecteurs pris en charge, la possibilité pour les clients d’annuler des transactions est désormais *activée par défaut*. Pour désactiver l’annulation par le client sur les lecteurs intelligents, définissez le paramètre `customerCancellation` sur `.disableIfAvailable`. #### Swift ```swift import UIKit import StripeTerminal class PaymentViewController: UIViewController { func readNfcUid() throws { let config = try CollectDataConfigurationBuilder().setCollectDataType(.nfcUid).build() self.cancelable = Terminal.shared.collectData(config) { collectedData, collectError in if let error = collectError { // Placeholder for handling exceptions } else if let nfcUid = collectedData?.nfcUid { // Placeholder for receiving NFC UID print("NFC UID is: \(nfcUid)") } } } } ``` # Android > This is a Android for when terminal-sdk-platform is android. View the full page at https://docs.stripe.com/terminal/features/collect-nfc-data?terminal-sdk-platform=android. ## Collecter des données - [collectData (Android)](https://stripe.dev/stripe-terminal-android/core/com.stripe.stripeterminal/-terminal/collect-data.html) Utilisez `Terminal.collectData()` pour demander la collecte des données à partir de votre application de point de vente. Spécifiez le type de données que vous souhaitez recevoir, comme `NFC_UID`, dans une configuration transmise à la fonction. Une fois qu’un client touche un instrument NFC, le SDK collecte un objet de données avec l’UID NFC ou renvoie une erreur si la lecture a échoué. > Sur les lecteurs pris en charge, la possibilité pour les clients d’annuler des transactions est désormais *activée par défaut*. Pour désactiver l’annulation client sur les lecteurs intelligents, définissez `customerCancellation` sur `DISABLE_IF_AVAILABLE`. #### Kotlin ```kotlin val config = CollectDataConfiguration.Builder() .setType(CollectDataType.NFC_UID) .build() val cancelable = Terminal.getInstance().collectData(config, object : CollectedDataCallback { override fun onSuccess(collectedData: CollectedData) { // Placeholder for receiving NFC UID collectedData.nfcUid?.let { print("NFC UID is $it") } } override fun onFailure(exception: TerminalException) { // Placeholder for handling exception } } ) ``` # React Native > This is a React Native for when terminal-sdk-platform is react-native. View the full page at https://docs.stripe.com/terminal/features/collect-nfc-data?terminal-sdk-platform=react-native. ## Collecter des données - [collectData (React Native)](https://stripe.dev/stripe-terminal-react-native/api-reference/interfaces/StripeTerminalSdkType.html#collectdata) Utilisez `collectData()` pour demander la collecte des données à partir de votre application de point de vente. Spécifiez le type de données que vous souhaitez recevoir, comme `NFC_UID`, dans une configuration transmise à la fonction. Lorsqu’un client touche un instrument NFC, le SDK collecte un objet de données avec l’UID NFC ou renvoie une erreur si la lecture a échoué. ```javascript import { CollectDataType } from '@stripe/stripe-terminal-react-native'; const readNfcUid = async () => { try { let collectDataType = CollectDataType.NFC_UID; const { collectedData, error } = await collectData({ collectDataType: collectDataType, customerCancellation: 'disableIfAvailable', }); if (error) { // Placeholder for handling exceptions console.error('Collect data failed:', error); } else if (collectedData?.nfcUid) { // Placeholder for receiving NFC UID console.log('NFC UID is:', collectedData.nfcUid); } } catch (e) { // Handle any unexpected errors console.error('Error collecting NFC data:', e); } }; ```