---
title: NFCPaymentTagReaderSession
framework: corenfc
role: symbol
role_heading: Class
path: corenfc/nfcpaymenttagreadersession
---

# NFCPaymentTagReaderSession

A reader session that supports the use of payment tags.

## Declaration

```swift
class NFCPaymentTagReaderSession
```

## Overview

Overview This subclass of NFCTagReaderSession adds support for payment tags, when someone uses your app in certain regions. To support payment tags in your app, intialize this class with a NFCTagReaderSessionDelegate. The delegate receives an object that conforms to the NFCISO7816Tag protocol when the NFCTagReaderSession detects an ISO 7816-compatible tag. For the delegate to receive the tag object, your app must include: The Near Field Communication Tag Reader Session Formats Entitlement A list of supported application identifiers in the ISO7816 application identifiers for NFC Tag Reader Session information property list key When the session discovers an ISO 7816-compatible tag, the session performs a SELECT command for each application identifier provided in ISO7816 application identifiers for NFC Tag Reader Session. The SELECT command searches for the identifiers in the order in which they appear in the array. The session calls the tagReaderSession:didDetectTags: delegate method after the first successful SELECT command. The initialSelectedAID property of the found tag contains the selected identifier. The tag must be available to the reader session, so it can read and write data to the tag. Use the isAvailable property to check the tag’s availability. To connect to an available tag, call the superclass’s connect(to:completionHandler:) method. The system only supports one active NFCReaderSession at a time. The system queues and processes subsequently opened sessions in first-in-first-out order. important: The system supports use of NFCPaymentTagReaderSession only within the European Union (EU). People using your app must have an account registered in the EU, and their device must be located within the EU. These registration and device location requirements also apply to developing and testing apps that use this API. If the device isn’t currently eligible to use NFCPaymentTagReaderSession, the NFCPaymentTagReaderSession.readingAvailable property is false.

## Topics

### Creating a tag reader session

- [init(delegate:queue:)](corenfc/nfcpaymenttagreadersession/init(delegate:queue:).md)
- [NFCTagReaderSessionDelegate](corenfc/nfctagreadersessiondelegate-2joku.md)

## Relationships

### Inherits From

- [NFCTagReaderSession](corenfc/nfctagreadersession.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NFCReaderSessionProtocol](corenfc/nfcreadersessionprotocol.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Reader sessions

- [NFCNDEFReaderSession](corenfc/nfcndefreadersession.md)
- [NFCTagReaderSession](corenfc/nfctagreadersession.md)
- [NFCVASReaderSession](corenfc/nfcvasreadersession.md)
- [NFCReaderSession](corenfc/nfcreadersession-swift.class.md)
- [NFCReaderSessionProtocol](corenfc/nfcreadersessionprotocol.md)
- [Near Field Communication Tag Reader Session Formats Entitlement](bundleresources/entitlements/com.apple.developer.nfc.readersession.formats.md)
