---
title: "readPaymentCard(_:eventHandler:)"
framework: proximityreader
role: symbol
role_heading: Instance Method
path: "proximityreader/paymentcardreadersession/readpaymentcard(_:eventhandler:)-2zgwn"
---

# readPaymentCard(_:eventHandler:)

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

## Declaration

```swift
func readPaymentCard(_ request: PaymentCardTransactionRequest, eventHandler: ((PaymentCardReaderSession.Event) -> Void)? = nil) async throws -> PaymentCardReadResult
```

## Parameters

- `request`: The transaction object you provide with the payment amount and currency details.

## Return Value

Return Value A PaymentCardReadResult if the read operation was successful.

## Discussion

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. note: This method throws a PaymentCardReaderSession.ReadError if a person dismisses the sheet or the sheet fails to appear.

## See Also

### Deprecated

- [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)
