<!--
{
  "availability" : [
    "iOS: 15.4.0 -",
    "iPadOS: 15.4.0 -",
    "macCatalyst: 17.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ProximityReader",
  "identifier" : "/documentation/ProximityReader/PaymentCardReaderSession",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "ProximityReader"
    ],
    "preciseIdentifier" : "s:15ProximityReader011PaymentCardB7SessionC"
  },
  "title" : "PaymentCardReaderSession"
}
-->

# PaymentCardReaderSession

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

```
class PaymentCardReaderSession
```

## 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:)`](/documentation/ProximityReader/PaymentCardReader/prepare(using:))
method of your [`PaymentCardReader`](/documentation/ProximityReader/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(_:)`](/documentation/ProximityReader/PaymentCardReaderSession/readPaymentCard(_:)-8jol5)

Presents a sheet to read a contactless payment card for a purchase or
a refund, and returns the encrypted card data.

[`readPaymentCard(_:)`](/documentation/ProximityReader/PaymentCardReaderSession/readPaymentCard(_:)-hr97)

Presents a sheet to verify a contactless payment card, and returns the card data.

### Reading a loyalty card

[`readPaymentCard(_:vasRequest:stopOnVASResult:)`](/documentation/ProximityReader/PaymentCardReaderSession/readPaymentCard(_:vasRequest:stopOnVASResult:))

Presents a sheet to read both contactless payments and loyalty cards
for a purchase or refund, and returns the relevant card data.

[`readVAS(_:)`](/documentation/ProximityReader/PaymentCardReaderSession/readVAS(_:))

Presents a sheet to read a loyalty card for Value Added Services (VAS), and returns the loyalty card data.

### Requesting the PIN

[`capturePIN(using:cardReaderTransactionID:)`](/documentation/ProximityReader/PaymentCardReaderSession/capturePIN(using:cardReaderTransactionID:))

Presents a sheet to capture the PIN when required by the payment card issuer,
and returns the previously encrypted card data including newly captured PIN data.

[`PaymentCardReaderSession.PINToken`](/documentation/ProximityReader/PaymentCardReaderSession/PINToken)

A secure PIN token that you receive from your participating payment service provider.

### Canceling the reading process

[`cancelRead()`](/documentation/ProximityReader/PaymentCardReaderSession/cancelRead())

Dismiss the sheet that prompts someone to present their card for reading.

### Getting error information

[`PaymentCardReaderSession.ReadError`](/documentation/ProximityReader/PaymentCardReaderSession/ReadError)

Errors that can occur during a card read.

### Deprecated

[`readPaymentCard(_:eventHandler:)`](/documentation/ProximityReader/PaymentCardReaderSession/readPaymentCard(_:eventHandler:)-2zgwn)

Presents a sheet to read a contactless payment card for a purchase or
a refund, and returns the encrypted card data.

[`readPaymentCard(_:eventHandler:)`](/documentation/ProximityReader/PaymentCardReaderSession/readPaymentCard(_:eventHandler:)-20e1w)

Presents a sheet to verify a contactless payment card, and returns the card data.

[`readPaymentCard(_:vasRequest:stopOnVASResult:eventHandler:)`](/documentation/ProximityReader/PaymentCardReaderSession/readPaymentCard(_:vasRequest:stopOnVASResult:eventHandler:))

Presents a sheet to read both contactless payments and loyalty cards
for a purchase or refund, and returns the relevant card data.

[`readVAS(_:eventHandler:)`](/documentation/ProximityReader/PaymentCardReaderSession/readVAS(_:eventHandler:))

Presents a sheet to read a loyalty card for Value Added Services (VAS), and returns the loyalty card data.

[`id`](/documentation/ProximityReader/PaymentCardReaderSession/id)

A unique identifier for this object.

[`PaymentCardReaderSession.Event`](/documentation/ProximityReader/PaymentCardReaderSession/Event)

Optional events you can observe during the card-reading process.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)