---
title: PaymentCardReaderSession
framework: proximityreader
role: symbol
role_heading: Class
path: proximityreader/paymentcardreadersession
---

# PaymentCardReaderSession

The object you use to start reading a contactless payment or loyalty card.

## Declaration

```swift
class PaymentCardReaderSession
```

## Mentioned in

Adding support for Tap to Pay on iPhone to your app Accepting loyalty passes from Wallet

## Overview

Overview Use a PaymentCardReaderSession object to read payment and loyalty cards from a properly configured device. You don’t create this object directly. Instead, you obtain one by calling the prepare(using:) method of your PaymentCardReader object, which returns a session after the successful configuration of the device. Maintain a strong reference to a session object for the duration of the card-reading process. You may use the same session object to perform multiple read operations, but you may perform only one read operation at a time from the device.

## Topics

### Reading a payment card

- [readPaymentCard(_:)](proximityreader/paymentcardreadersession/readpaymentcard(_:)-8jol5.md)
- [readPaymentCard(_:)](proximityreader/paymentcardreadersession/readpaymentcard(_:)-hr97.md)

### Reading a loyalty card

- [readPaymentCard(_:vasRequest:stopOnVASResult:)](proximityreader/paymentcardreadersession/readpaymentcard(_:vasrequest:stoponvasresult:).md)
- [readVAS(_:)](proximityreader/paymentcardreadersession/readvas(_:).md)

### Requesting the PIN

- [capturePIN(using:cardReaderTransactionID:)](proximityreader/paymentcardreadersession/capturepin(using:cardreadertransactionid:).md)
- [PaymentCardReaderSession.PINToken](proximityreader/paymentcardreadersession/pintoken.md)

### Canceling the reading process

- [cancelRead()](proximityreader/paymentcardreadersession/cancelread().md)

### Getting error information

- [PaymentCardReaderSession.ReadError](proximityreader/paymentcardreadersession/readerror.md)

### Deprecated

- [readPaymentCard(_:eventHandler:)](proximityreader/paymentcardreadersession/readpaymentcard(_:eventhandler:)-2zgwn.md)
- [readPaymentCard(_:eventHandler:)](proximityreader/paymentcardreadersession/readpaymentcard(_:eventhandler:)-20e1w.md)
- [readPaymentCard(_:vasRequest:stopOnVASResult:eventHandler:)](proximityreader/paymentcardreadersession/readpaymentcard(_:vasrequest:stoponvasresult:eventhandler:).md)
- [readVAS(_:eventHandler:)](proximityreader/paymentcardreadersession/readvas(_:eventhandler:).md)
- [id](proximityreader/paymentcardreadersession/id.md)
- [PaymentCardReaderSession.Event](proximityreader/paymentcardreadersession/event.md)

### Instance Properties

- [currentOSVersionDeprecationDate](proximityreader/paymentcardreadersession/currentosversiondeprecationdate.md)

## Relationships

### Inherited By

- [StoreAndForwardPaymentCardReaderSession](proximityreader/storeandforwardpaymentcardreadersession.md)

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Payment card reader

- [Setting up Tap to Pay on iPhone](proximityreader/setting-up-the-entitlement-for-tap-to-pay-on-iphone.md)
- [Adding support for Tap to Pay on iPhone to your app](proximityreader/adding-support-for-tap-to-pay-on-iphone-to-your-app.md)
- [PaymentCardReader](proximityreader/paymentcardreader.md)
