# Card Scanner

The iOS Payment Sheet SDK includes built-in card scanning powered by the device camera. When enabled, a scan button appears in the top-right corner of the navigation bar. The scanner reads the card number, expiry date, and name. CVV and postal code are not scanned and must be entered manually. Scanning results flow through the same [`PaymentActionDelegate`](/ios/online/payment-action#param-delegate) callbacks as manual entry.

Card scanning is **enabled by default**. No additional SDK setup is required beyond adding the camera permission to your app.

## Camera Permission

Add the following key to your app's `Info.plist`. Without it, the OS will deny camera access and scanning will not work.


```xml
<key>NSCameraUsageDescription</key>
<string>Used to scan credit cards for faster entry.</string>
```

Required for scanning
If `NSCameraUsageDescription` is missing from your `Info.plist`, camera access will be denied and the user will be directed to the Settings page to enable it.

## Enabling and Disabling

Control scanning via the `enableCardScanning` parameter on [`Configuration`](/ios/online/configuration). It defaults to `true`.

| Value | Behavior |
|  --- | --- |
| `true` (default) | Scan button appears in the payment sheet. |
| `false` | Scan button is hidden. Users enter card details manually. |