---
title: PaymentCardReader
framework: proximityreader
role: symbol
role_heading: Class
path: proximityreader/paymentcardreader
---

# PaymentCardReader

An object you use to configure Tap to Pay on iPhone on the current device.

## Declaration

```swift
class PaymentCardReader
```

## Mentioned in

Adding support for Tap to Pay on iPhone to your app

## Overview

Overview A PaymentCardReader object coordinates the reading of payment and loyalty cards using existing iPhone hardware. Use it to read cards that might otherwise require specialized hardware. For example, use it to collect contactless payment information from another iPhone or from NFC-enabled hardware, such as NFC-enabled plastic cards. After you create the PaymentCardReader object, call prepare(using:) to validate the payment pipeline and receive a new PaymentCardReaderSession. Use the session object to read card information related to payments and refunds, or to verify card information.

## Topics

### Creating a payment reader

- [init(options:)](proximityreader/paymentcardreader/init(options:).md)
- [PaymentCardReader.Options](proximityreader/paymentcardreader/options-swift.struct.md)

### Getting the feature availability

- [isSupported](proximityreader/paymentcardreader/issupported.md)

### Configuring Tap to Pay on iPhone

- [prepare(using:)](proximityreader/paymentcardreader/prepare(using:).md)

### Displaying the Tap to Pay on iPhone’s terms and conditions

- [isAccountLinked(using:)](proximityreader/paymentcardreader/isaccountlinked(using:).md)
- [linkAccount(using:)](proximityreader/paymentcardreader/linkaccount(using:).md)
- [relinkAccount(using:)](proximityreader/paymentcardreader/relinkaccount(using:).md)
- [PaymentCardReader.Token](proximityreader/paymentcardreader/token.md)

### Observing reader events

- [events](proximityreader/paymentcardreader/events.md)
- [PaymentCardReader.Event](proximityreader/paymentcardreader/event.md)

### Getting the configuration details

- [readerIdentifier](proximityreader/paymentcardreader/readeridentifier.md)
- [options](proximityreader/paymentcardreader/options-swift.property.md)

### Deprecated

- [id](proximityreader/paymentcardreader/id.md)
- [prepare(using:updateHandler:)](proximityreader/paymentcardreader/prepare(using:updatehandler:).md)
- [PaymentCardReader.UpdateEvent](proximityreader/paymentcardreader/updateevent.md)

### Instance Methods

- [fetchPaymentCardReaderStore()](proximityreader/paymentcardreader/fetchpaymentcardreaderstore().md)
- [prepareStoreAndForward()](proximityreader/paymentcardreader/preparestoreandforward().md)

## Relationships

### 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)
- [PaymentCardReaderSession](proximityreader/paymentcardreadersession.md)
