<!--
{
  "documentType" : "article",
  "framework" : "PassKit",
  "identifier" : "/documentation/PassKit/wallet",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Wallet"
}
-->

# Wallet

Manage tickets, boarding passes, payment cards and other passes in the Wallet app.

## Discussion

To access your pass using PassKit, add the Wallet capability to your app. Use the API in Wallet to access and manage different types of passes, including identity passes, payment passes, and digital car keys. You can choose to access all of the passes signed with your developer team identifier, or access a subset of pass types. For information on adding capabilities to your app, see <doc://com.apple.documentation/documentation/Xcode/adding-capabilities-to-your-app>. For information on signing a pass, see <doc://com.apple.documentation/documentation/WalletPasses>.

## Topics

### Essentials

  <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.pass-type-identifiers>

  <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.in-app-payments>

  <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.in-app-identity-presentment>

[Requesting identity data from a Wallet pass](/documentation/PassKit/requesting-identity-data-from-a-wallet-pass)

Initiate a request for identity information by prompting a user for permission and decrypting a response payload.

[Verifying Wallet identity requests](/documentation/PassKit/verifying-wallet-identity-requests)

Decrypt and verify an in-app presentment request on your server.

### Wallet Passes

  <doc://com.apple.documentation/documentation/WalletPasses>

### Common data types

[`PKObject`](/documentation/PassKit/PKObject)

An opaque type that acts as the superclass for the pass object.

[`PKAddPassButton`](/documentation/PassKit/PKAddPassButton)

Provides a button that enables users to add passes to Wallet.

[`PKLabeledValue`](/documentation/PassKit/PKLabeledValue)

An object that can represent a detail about a payment card or other item.

[`AddPassToWalletButton`](/documentation/PassKit/AddPassToWalletButton)

A type that provides a button that enables people to add a new or existing pass to Apple Wallet.

[`AddPassToWalletButtonFilter`](/documentation/PassKit/AddPassToWalletButtonFilter)

[`AddPassToWalletButtonResponse`](/documentation/PassKit/AddPassToWalletButtonResponse)

[`AddPassToWalletButtonStyle`](/documentation/PassKit/AddPassToWalletButtonStyle)

### Pass library

[`PKPassLibrary`](/documentation/PassKit/PKPassLibrary)

Provides an interface to the user’s library of passes.

### General purpose passes

[`PKSecureElementPass`](/documentation/PassKit/PKSecureElementPass)

A pass with a credential that the device stores in a certified payment information chip.

[`PKAddSecureElementPassConfiguration`](/documentation/PassKit/PKAddSecureElementPassConfiguration)

An object that describes the configuration of a secure element payment pass.

[`PKAddSecureElementPassViewController`](/documentation/PassKit/PKAddSecureElementPassViewController)

A view controller that manages the addition of secure element payment passes.

[`PKPass`](/documentation/PassKit/PKPass)

An object that represents a single pass.

[`PKAddPassesViewController`](/documentation/PassKit/PKAddPassesViewController)

Lets your app show a pass and prompt the user to add that pass to the pass library.

[`AsyncShareablePassConfiguration`](/documentation/PassKit/AsyncShareablePassConfiguration)

[`PKShareSecureElementPassViewController`](/documentation/PassKit/PKShareSecureElementPassViewController)

[`PKShareSecureElementPassViewControllerDelegate`](/documentation/PassKit/PKShareSecureElementPassViewControllerDelegate)

[`PKShareablePassMetadata.Preview`](/documentation/PassKit/PKShareablePassMetadata/Preview-swift.class)

[`PKShareSecureElementPassResult`](/documentation/PassKit/PKShareSecureElementPassResult)

### Identity passes and authorization

[Requesting identity data from a Wallet pass](/documentation/PassKit/requesting-identity-data-from-a-wallet-pass)

Initiate a request for identity information by prompting a user for permission and decrypting a response payload.

[Configuring your environment for the Verify with Wallet API](/documentation/PassKit/configuring-your-environment-for-the-verify-with-wallet-api)

Set up your environment to use Verify with Wallet.

[Verifying Wallet identity requests](/documentation/PassKit/verifying-wallet-identity-requests)

Decrypt and verify an in-app presentment request on your server.

[`PKIdentityPhotoIDDescriptor`](/documentation/PassKit/PKIdentityPhotoIDDescriptor)

An object you use to request information from a user’s photo ID or equivalent document.

[`PKIdentityAnyOfDescriptor`](/documentation/PassKit/PKIdentityAnyOfDescriptor)

An object you use to request information from multiple identity documents.

[`PKIdentityDriversLicenseDescriptor`](/documentation/PassKit/PKIdentityDriversLicenseDescriptor)

An object for requesting information from a user’s driver’s license or equivalent document.

[`PKAddIdentityDocumentMetadata`](/documentation/PassKit/PKAddIdentityDocumentMetadata)

The object for specifying the metadata necessary to provision identity documents.

[`PKAddIdentityDocumentConfiguration`](/documentation/PassKit/PKAddIdentityDocumentConfiguration)

Configuration to define the identity document.

[`PKAddIdentityDocumentType`](/documentation/PassKit/PKAddIdentityDocumentType)

Classifications that reflect the type of identity document.

[`JPKIPassContents`](/documentation/PassKit/JPKIPassContents)

A set of actions for viewing and updating PINs, passwords, and signing abilities associated with digital identities on the JPKI applet.

[`PKAddIdentityDocumentConfiguration`](/documentation/PassKit/PKAddIdentityDocumentConfiguration)

Configuration to define the identity document.

[`PKAddPassMetadataPreview`](/documentation/PassKit/PKAddPassMetadataPreview)

A preview object that contains information representing the pass you add to Wallet.

[`PKIdentityDocumentMetadata`](/documentation/PassKit/PKIdentityDocumentMetadata)

A set of configured metadata that defines the required information to add the corresponding pass to Wallet.

[`PKIdentityNationalIDCardDescriptor`](/documentation/PassKit/PKIdentityNationalIDCardDescriptor)

An object for requesting information from a user’s national ID card.

[`PKJapanIndividualNumberCardMetadata`](/documentation/PassKit/PKJapanIndividualNumberCardMetadata)

A class that contains metadata indicating the specific product instance to provision.

### Identity sheet interactions and authorization

[`PKIdentityAuthorizationController`](/documentation/PassKit/PKIdentityAuthorizationController)

An object that presents a sheet that prompts the user to allow a request for identity information.

[`PKIdentityRequest`](/documentation/PassKit/PKIdentityRequest)

An object that represents a request for identity information from a Wallet pass.

[`PKIdentityDocument`](/documentation/PassKit/PKIdentityDocument)

An object that represents the response to a request.

[`PKIdentityElement`](/documentation/PassKit/PKIdentityElement)

An object that represents the elements an app requests from identity documents.

[`PKIdentityButton`](/documentation/PassKit/PKIdentityButton)

An object that displays a button to trigger the identity verification flow.

[`VerifyIdentityWithWalletButton`](/documentation/PassKit/VerifyIdentityWithWalletButton)

A type that displays a button to present the identity verification flow.

[`VerifyIdentityWithWalletButtonLabel`](/documentation/PassKit/VerifyIdentityWithWalletButtonLabel)

A type that represents the label you use with a verify identity button.

[`VerifyIdentityWithWalletButtonStyle`](/documentation/PassKit/VerifyIdentityWithWalletButtonStyle)

A type that represents the style you use with a verify identity button.

### Payment passes

[`PKPaymentPass`](/documentation/PassKit/PKPaymentPass)

An object that represents a provisioned payment card for in-app payments.

[`PKAddPaymentPassViewController`](/documentation/PassKit/PKAddPaymentPassViewController)

Displays an interface that lets users add cards to Apple Pay from within your app.

### Stored-value passes

[`PKTransitPassProperties`](/documentation/PassKit/PKTransitPassProperties)

The properties of a transit pass.

[`PKSuicaPassProperties`](/documentation/PassKit/PKSuicaPassProperties)

The properties of a pass used as a ticket for the Suica transportation system.

[`PKStoredValuePassProperties`](/documentation/PassKit/PKStoredValuePassProperties)

An object that represents the properties of a pass that contains a balance used for specific transactions, such as a transit pass or loyalty card.

[`PKStoredValuePassBalance`](/documentation/PassKit/PKStoredValuePassBalance)

An object that represents a balance that’s available for transactions, such as points or money.

### Shareable passes

[`PKAddShareablePassConfiguration`](/documentation/PassKit/PKAddShareablePassConfiguration)

An object that represents the data and action for a shared copy of pass.

[`PKShareablePassMetadata`](/documentation/PassKit/PKShareablePassMetadata)

Information that you use to configure the sharing sheet for a pass.

[`PKAddShareablePassConfigurationPrimaryAction`](/documentation/PassKit/PKAddShareablePassConfigurationPrimaryAction)

The kind of add action that the system performs with a pass.

### Digital car keys

[`PKAddCarKeyPassConfiguration`](/documentation/PassKit/PKAddCarKeyPassConfiguration)

A specialized configuration object that PassKit uses when it creates a digital car key.

[`PKVehicleConnectionSession`](/documentation/PassKit/PKVehicleConnectionSession)

[`PKVehicleConnectionDelegate`](/documentation/PassKit/PKVehicleConnectionDelegate)

[`PKVehicleConnectionSessionConnectionState`](/documentation/PassKit/PKVehicleConnectionSessionConnectionState)

### Issuer cards

[Implementing Wallet Extensions](/documentation/PassKit/implementing-wallet-extensions)

Support adding an issued card to Apple Pay from directly within Apple Wallet
using Wallet Extensions.

[`PKIssuerProvisioningExtensionHandler`](/documentation/PassKit/PKIssuerProvisioningExtensionHandler)

An abstract superclass for an app extension to add a payment card to Wallet.

[`PKIssuerProvisioningExtensionAuthorizationProviding`](/documentation/PassKit/PKIssuerProvisioningExtensionAuthorizationProviding)

A protocol for a UI app extension to authorize a user to add a payment card to Wallet.

### Errors

[`PKPassKitError`](/documentation/PassKit/PKPassKitError)

Errors that the PassKit framework uses.

[`PKAddSecureElementPassError`](/documentation/PassKit/PKAddSecureElementPassError)

An error object that PassKit uses when it adds Secure Element passes.

[`PKPassKitError.Code`](/documentation/PassKit/PKPassKitError/Code)

Errors that the PassKit framework uses.

[`PKAddSecureElementPassError.Code`](/documentation/PassKit/PKAddSecureElementPassError/Code)

Error codes for problems that occur when you add a secure element passes.

[`PKAddPaymentPassError`](/documentation/PassKit/PKAddPaymentPassError)

Error codes for adding payment passes.

[`PKIdentityError`](/documentation/PassKit/PKIdentityError-swift.struct)

A structure that represents an identity error.

[`PKIdentityError.Code`](/documentation/PassKit/PKIdentityError-swift.struct/Code)

Error codes for identity operations.

[`PKShareSecureElementPassError`](/documentation/PassKit/PKShareSecureElementPassError)

[`PKShareSecureElementPassError.Code`](/documentation/PassKit/PKShareSecureElementPassError/Code)

[`PKVehicleConnectionErrorCode`](/documentation/PassKit/PKVehicleConnectionErrorCode)

[`PayWithApplePayButtonPaymentAuthorizationPhase`](/documentation/PassKit/PayWithApplePayButtonPaymentAuthorizationPhase)

[`PKPassKitErrorDomain`](/documentation/PassKit/PKPassKitErrorDomain)

The error domain for PassKit errors.

[`PKIdentityErrorDomain`](/documentation/PassKit/PKIdentityErrorDomain)

The error domain for identity errors.

[`PKAddSecureElementPassErrorDomain`](/documentation/PassKit/PKAddSecureElementPassErrorDomain)

The error domain for errors that occur when adding a secure pass.

[`PKShareSecureElementPassErrorDomain`](/documentation/PassKit/PKShareSecureElementPassErrorDomain)

### Deprecated

[`PayLaterView`](/documentation/PassKit/PayLaterView)

A view that displays the Apple Pay Later visual merchandising widget.

[`PKPayLaterView`](/documentation/PassKit/PKPayLaterView)

A view that displays the Apple Pay Later visual merchandising widget.



---

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)