<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 17.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ProximityReader",
  "identifier" : "/documentation/ProximityReader/PaymentCardReaderSession/readPaymentCard(_:)-8jol5",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "ProximityReader"
    ],
    "preciseIdentifier" : "s:15ProximityReader011PaymentCardB7SessionC04readcD0yAA0cD10ReadResultVAA0cD18TransactionRequestVYaKF"
  },
  "title" : "readPaymentCard(_:)"
}
-->

# readPaymentCard(_:)

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

```
func readPaymentCard(_ request: PaymentCardTransactionRequest) async throws -> PaymentCardReadResult
```

## Parameters

`request`

The transaction object you provide with the payment amount and currency details.

## Return Value

A [`PaymentCardReadResult`](/documentation/ProximityReader/PaymentCardReadResult) if the read operation was successful.

## Discussion

Call this method as the first step in a financial transaction involving
Tap to Pay with iPhone. This method displays a system-provided sheet with instructions
on what the person needs to do. This UI remains onscreen until the system reads
the person’s card, you cancel the operation, or an error occurs. After the
read operation concludes successfully, deliver the returned card information to
your payment service provider.

> throws: This method throws a ``doc://com.apple.ProximityReader/documentation/ProximityReader/PaymentCardReaderSession/ReadError`` if a person dismisses the sheet
> or the sheet fails to appear.

---

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)