PassKit lets you integrate Apple Pay payments and Wallet into your app across iOS, macOS, watchOS, and visionOS. Present Apple Pay through a PKAddPaymentPassViewController or display a PKAddPassButton, and describe charges with summary items such as PKAutomaticReloadPaymentSummaryItem and requests like PKDeferredPaymentRequest, while configuring payment networks and contact fields through PKPaymentNetwork and PKContactField. You can also add passes and secure-element cards to Wallet using PKAddPassesViewController and PKAddSecureElementPassConfiguration, share them with PKShareablePassMetadata, and request identity documents such as a driver's license through PKAddIdentityDocumentConfiguration and PKAddIdentityDocumentMetadata.
Apple Pay Payment Requests 17
Types that describe a charge, its summary items, and the payment networks and capabilities a merchant supports.
- ClPKPaymentRequestiOS 8.0+An object that describes the payment to authorize, including the merchant, summary items, and supported networks.
- ClPKPaymentSummaryItemiOS 8.0+An object that represents a single line item, such as a product or discount, in a payment request's summary.
- EnPKPaymentSummaryItemTypeiOS 9.0+Constants that indicate whether a summary item's amount is final or still pending.
- ClPKRecurringPaymentRequestiOS 16.0+A request that describes a recurring Apple Pay payment, such as a subscription.
- ClPKRecurringPaymentSummaryItemiOS 15.0+A summary item that defines the schedule and amount of a recurring payment.
- ClPKDeferredPaymentRequestiOS 16.4+A request that describes a payment charged at a later date, such as a preorder.
- ClPKDeferredPaymentSummaryItemiOS 15.0+A summary item that defines the deferred date and amount for a deferred payment.
- ClPKAutomaticReloadPaymentRequestiOS 16.0+A request that describes an automatic top-up charged when a balance falls below a threshold.
- ClPKAutomaticReloadPaymentSummaryItemiOS 16.0+A summary item that defines the threshold and reload amount for an automatic reload payment.
- ClPKDisbursementRequestiOS 17.0+A request that describes a disbursement of funds to a customer through Apple Pay.
- ClPKDisbursementSummaryItemiOS 17.0+A summary item that represents an amount being disbursed to a customer.
- ClPKInstantFundsOutFeeSummaryItemiOS 17.0+A summary item that represents the fee charged for an instant funds-out disbursement.
- ClPKPaymentTokenContextiOS 16.0+An object that describes the context of a single payment token within a multimerchant payment.
- ClPKPaymentOrderDetailsiOS 16.0+An object that supplies order details, such as a Wallet order, after a payment completes.
- StPKPaymentNetworkConstants that identify the payment networks, such as Visa or Mastercard, a merchant supports.
- StPKMerchantCapabilityiOS 8.0+Options that specify the payment-processing capabilities a merchant supports.
- StPKEncryptionSchemeConstants that identify the cryptographic scheme used to encrypt a payment token.
Authorizing Payments 14
Controllers, buttons, and result types that present the Apple Pay sheet and report the user's authorization.
- ClPKPaymentAuthorizationControlleriOS 10.0+An object that presents and manages the Apple Pay sheet without a view controller.
- PrPKPaymentAuthorizationControllerDelegateA protocol for responding to authorization events from a payment authorization controller.
- ClPKPaymentAuthorizationViewControlleriOS 8.0+A view controller that presents the Apple Pay sheet and collects the user's authorization.
- PrPKPaymentAuthorizationViewControllerDelegateA protocol for responding to authorization events from a payment authorization view controller.
- ClPKPaymentButtoniOS 8.3+A button that initiates an Apple Pay transaction in UIKit or AppKit.
- EnPKPaymentButtonStyleiOS 8.3+Constants that specify the visual style of an Apple Pay payment button.
- EnPKPaymentButtonTypeiOS 8.3+Constants that specify the label and intent shown on an Apple Pay payment button.
- ClPKPaymentAuthorizationResultiOS 11.0+An object that reports the success or failure of a payment authorization, along with any errors.
- EnPKPaymentAuthorizationStatusiOS 8.0+Constants that indicate the outcome of a payment authorization.
- ClPKPaymentiOS 8.0+An object that contains the encrypted token and contact details for an authorized payment.
- ClPKPaymentTokeniOS 8.0+An object that contains the encrypted payment data passed to your server for processing.
- ClPKPaymentMethodiOS 9.0+An object that describes the payment card the user selected for a transaction.
- EnPKPaymentMethodTypeiOS 9.0+Constants that identify the kind of card, such as debit or credit, used for a payment.
- ClPKPaymentMerchantSessioniOS 14.0+An object that represents a validated merchant session for an Apple Pay payment.
Updating the Payment Sheet 14
Update objects that let your delegate revise the order as the customer changes shipping, contact, coupon, or payment details.
- ClPKPaymentRequestUpdateiOS 11.0+A base object that revises the payment request in response to a customer's changes.
- ClPKPaymentRequestShippingContactUpdateiOS 11.0+An update that revises the payment request after the customer changes the shipping contact.
- ClPKPaymentRequestShippingMethodUpdateiOS 11.0+An update that revises the payment request after the customer changes the shipping method.
- ClPKPaymentRequestPaymentMethodUpdateiOS 11.0+An update that revises the payment request after the customer changes the payment method.
- ClPKPaymentRequestMerchantSessionUpdateiOS 14.0+An update that provides a new merchant session for the payment request.
- ClPKPaymentRequestCouponCodeUpdateiOS 15.0+An update that revises the payment request after the customer enters a coupon code.
- ClPKShippingMethodiOS 8.0+An object that describes a shipping option, including its label, amount, and delivery dates.
- EnPKShippingTypeiOS 8.3+Constants that specify the kind of shipping, such as delivery or store pickup.
- EnPKShippingContactEditingModeiOS 15.0+Constants that specify whether the user can edit the shipping contact during a transaction.
- ClPKContactiOS 9.0+An object that holds the contact information, such as name and address, for a payment.
- StPKContactFieldConstants that identify which contact fields, such as email or phone, the merchant requires.
- StPKAddressFieldOptions that specify which postal-address fields a merchant requires for a payment.
- ClPKLabeledValueiOS 10.1+An object that pairs a label with a value, used to convey contact-related details.
- ClPKDateComponentsRangeiOS 15.0+An object that represents a range of dates expressed as date components.
SwiftUI Apple Pay Buttons 6
SwiftUI controls and style modifiers for presenting an Apple Pay button and configuring its appearance.
- StPayWithApplePayButtonLabelDetermines the label on Pay With Apple Pay Button
- StPayWithApplePayButtonStyleDetermines the color of the Pay With Apple Pay Button
- EnPayWithApplePayButtonPaymentAuthorizationPhaseDescribes the current state of a payment transaction after a user starts the transaction.
- StApplePayMerchandisingActionType of action taken when the button is tapped on the ApplePayMerchandisingView
- StApplePayMerchandisingPartnerConfigurationDefines the partner configuration for the ApplePayMerchandisingView
- StApplePayMerchandisingStyleStyling layout of the ApplePayMerchandisingView
Apple Pay Later 7
Views, actions, and availability types for surfacing Apple Pay Later financing options to customers.
- ClPKPayLaterViewiOS 17.0+A view that displays Apple Pay Later financing information for a purchase amount.
- PrPKPayLaterViewDelegateiOS 17.0+A protocol for responding to events from an Apple Pay Later view.
- EnPKPayLaterDisplayStyleiOS 17.0+Constants that specify how Apple Pay Later information is displayed.
- EnPKPayLaterActioniOS 17.0+Constants that specify the action a customer can take from an Apple Pay Later view.
- EnPKApplePayLaterAvailabilityiOS 17.0+Constants that indicate whether Apple Pay Later is available for a transaction.
- StPayLaterViewActionA SwiftUI value that specifies the action presented by an Apple Pay Later view.
- StPayLaterViewDisplayStyleA SwiftUI value that specifies the display style of an Apple Pay Later view.
Wallet Passes 17
The pass model and library used to read, add, and observe passes in the user's Wallet.
- ClPKPassAn object that represents a pass in the user's Wallet, such as a ticket or boarding pass.
- ClPKObjectThe base object from which Wallet pass types inherit.
- ClPKPassLibraryiOS 6.0+An object that provides access to the passes stored in the user's Wallet.
- EnPKPassTypeiOS 8.0+Constants that identify the kind of pass, such as a barcode pass or secure-element pass.
- ClPKPassRelevantDateAn object that describes a date or date interval at which a pass becomes relevant.
- ClPKAddPassButtoniOS 9.0+A button that lets the user add a pass to Wallet in UIKit or AppKit.
- EnPKAddPassButtonStyleiOS 9.0+Constants that specify the visual style of an Add to Wallet button.
- ClPKAddPassesViewControlleriOS 6.0+A view controller that presents the interface for adding one or more passes to Wallet.
- PrPKAddPassesViewControllerDelegateA protocol for responding to events from an add-passes view controller.
- ClPKAddPassMetadataPreviewiOS 18.0+An object that supplies preview metadata shown while adding a pass to Wallet.
- StAddPassToWalletButtonFilterA SwiftUI value that filters which passes an Add to Wallet button applies to.
- StAddPassToWalletButtonResponseA response containing all the data required to create an add payment
- StAddPassToWalletButtonStyleA SwiftUI style that controls the appearance of an Add to Wallet button.
- StPKPassLibraryNotificationNameConstants that identify notifications posted by the pass library.
- StPKPassLibraryNotificationKeyConstants that identify keys in the user info of pass-library notifications.
- EnPKPassLibraryAddPassesStatusiOS 7.0+Constants that indicate the result of adding passes to the library.
- EnPKAutomaticPassPresentationSuppressionResultiOS 9.0+Constants that indicate whether automatic pass presentation was successfully suppressed.
Secure Element & Transit Passes 18
Provisioning flows and properties for secure-element cards such as payment, transit, and stored-value passes.
- ClPKSecureElementPassiOS 13.4+An object that represents a pass backed by the secure element, such as a payment or transit card.
- ClPKPaymentPassiOS 8.0+An object that represents a provisioned payment card stored in the secure element.
- EnPKPaymentPassActivationStateConstants that indicate the activation state of a provisioned payment pass.
- ClPKAddSecureElementPassConfigurationiOS 13.4+A configuration that describes a secure-element pass to add to Wallet.
- ClPKAddSecureElementPassViewControlleriOS 13.4+A view controller that presents the flow for adding a secure-element pass to Wallet.
- PrPKAddSecureElementPassViewControllerDelegateiOS 13.4+A protocol for responding to events from an add-secure-element-pass view controller.
- StPKAddSecureElementPassErroriOS 13.4+Error codes reported when adding a secure-element pass fails.
- ClPKAddPaymentPassRequestConfigurationiOS 9.0+A configuration that describes the payment card to provision into Wallet.
- ClPKAddPaymentPassRequestiOS 9.0+An object that carries the encrypted data needed to provision a payment pass.
- ClPKAddPaymentPassViewControlleriOS 9.0+A view controller that presents the flow for provisioning a payment card into Wallet.
- PrPKAddPaymentPassViewControllerDelegateiOS 9.0+A protocol for supplying provisioning data to an add-payment-pass view controller.
- EnPKAddPaymentPassStyleiOS 12.0+Constants that specify the style of the add-payment-pass interface.
- EnPKAddPaymentPassErroriOS 9.0+Error codes reported when provisioning a payment pass fails.
- ClPKTransitPassPropertiesiOS 11.3+An object that exposes the transit-specific properties of a secure-element pass.
- ClPKSuicaPassPropertiesiOS 10.1+An object that exposes the properties of a Suica transit pass.
- ClPKStoredValuePassPropertiesiOS 15.0+An object that exposes the properties of a stored-value pass.
- ClPKStoredValuePassBalanceiOS 15.0+An object that represents a balance held on a stored-value pass.
- StPKRadioTechnologyiOS 14.5+Constants that identify the radio technology, such as NFC, used by a secure-element pass.
Sharing & Car Keys 12
Configurations for sharing passes between users and for provisioning and connecting to car keys.
- ClPKShareablePassMetadataiOS 14.0+An object that describes the metadata for sharing a pass with another user.
- ClPKAddShareablePassConfigurationiOS 14.0+A configuration that describes a shareable pass to add to Wallet.
- EnPKAddShareablePassConfigurationPrimaryActioniOS 14.0+Constants that specify the primary action offered when adding a shareable pass.
- ClPKShareSecureElementPassViewControlleriOS 16.0+A view controller that presents the flow for sharing a secure-element pass.
- PrPKShareSecureElementPassViewControllerDelegateiOS 16.0+A protocol for responding to events from a share-secure-element-pass view controller.
- EnPKShareSecureElementPassResultiOS 16.0+Share secure element pass result sent to delegate upon user completion.
- StPKShareSecureElementPassErroriOS 16.0+Error codes reported when sharing a secure-element pass fails.
- ClPKAddCarKeyPassConfigurationiOS 13.4+A configuration that describes a car key pass to add to Wallet.
- ClPKVehicleConnectionSessioniOS 15.4+An object that manages a connection session between a device and a vehicle.
- PrPKVehicleConnectionDelegateiOS 15.4+A protocol for responding to state changes in a vehicle connection session.
- EnPKVehicleConnectionSessionConnectionStateiOS 15.4+Constants that indicate the connection state of a vehicle session.
- EnPKVehicleConnectionErrorCodeiOS 15.4+Error codes reported when a vehicle connection session fails.
Identity Documents 20
Configurations, requests, and descriptors for adding and requesting identity documents such as a driver's license.
- ClPKAddIdentityDocumentConfigurationiOS 18.0+A configuration that describes an identity document to add to Wallet.
- ClPKAddIdentityDocumentMetadataiOS 26.0+An object that supplies the metadata needed to add an identity document.
- EnPKAddIdentityDocumentTypeConstants that identify the kind of identity document being added.
- ClPKIdentityDocumentMetadataiOS 18.0+An object that describes the metadata of an identity document in Wallet.
- ClPKJapanIndividualNumberCardMetadataiOS 18.0+An object that describes the metadata for a Japanese Individual Number Card.
- StJPKIPassContentsA type that represents the contents of a Japanese Public Key Infrastructure pass.
- ClPKIdentityDocumentiOS 16.0+Represents the response of a request for an identity document.
- PrPKIdentityDocumentDescriptoriOS 16.0+"Descriptor" objects describe types of documents that can be requested. Different document
- ClPKIdentityDriversLicenseDescriptoriOS 16.0+Used to request information from a user's driver's license (or equivalent document).
- ClPKIdentityNationalIDCardDescriptoriOS 18.0+Used to request information from a user's national id card (or equivalent document).
- ClPKIdentityPhotoIDDescriptoriOS 26.0+Used to request information from a user's photo ID (or equivalent document).
- ClPKIdentityAnyOfDescriptoriOS 26.0+Used to request information from multiple identity documents.
- ClPKIdentityElementiOS 16.0+Elements that can be requested from identity documents. Not
- ClPKIdentityIntentToStoreiOS 16.0+Indicates your intention to store an identity element. This covers not only
- ClPKIdentityRequestiOS 16.0+Request for information from an identity document stored as a Wallet pass.
- ClPKIdentityAuthorizationControlleriOS 16.0+Used to request information from an identity document stored as a Wallet pass.
- ClPKIdentityButtoniOS 16.0+Button to show to the user to trigger the identity verification flow via PKIdentityAuthorizationController.
- StPKIdentityErroriOS 16.0+Error codes reported when an identity-document request fails.
- StVerifyIdentityWithWalletButtonLabelDetermines the label on Verify Identity with Wallet Button
- StVerifyIdentityWithWalletButtonStyleDetermines the color of the Verify Identity with Wallet Button
Issuer & Payment Information Extensions 14
App extension types that let card issuers and merchants provision passes and respond to payment-information requests.
- ClPKIssuerProvisioningExtensionHandleriOS 14.0+The principal object of an issuer provisioning app extension that supplies provisionable passes.
- PrPKIssuerProvisioningExtensionAuthorizationProvidingiOS 14.0+A protocol that supplies authorization for an issuer provisioning extension.
- EnPKIssuerProvisioningExtensionAuthorizationResultiOS 14.0+Constants that indicate the result of authorizing an issuer provisioning request.
- ClPKIssuerProvisioningExtensionStatusiOS 14.0+An object that reports the provisioning status returned by an issuer extension.
- ClPKIssuerProvisioningExtensionPassEntryiOS 14.0+A base object that represents a pass an issuer extension can provision.
- ClPKIssuerProvisioningExtensionPaymentPassEntryiOS 14.0+An object that represents a payment pass an issuer extension can provision.
- ClPKPaymentInformationEventExtensioniOS 14.0+The principal object of an app extension that responds to payment-information events.
- PrPKPaymentInformationRequestHandlingA protocol for handling requests for payment information from Wallet.
- ClPKBarcodeEventConfigurationRequestiOS 14.0+A request for the configuration data needed to handle a barcode event.
- EnPKBarcodeEventConfigurationDataTypeiOS 14.0+Constants that identify the type of configuration data for a barcode event.
- ClPKBarcodeEventMetadataRequestiOS 14.0+A request for the metadata associated with a barcode event.
- ClPKBarcodeEventMetadataResponseiOS 14.0+A response that supplies the metadata for a barcode event.
- ClPKBarcodeEventSignatureRequestiOS 14.0+A request for the signature data associated with a barcode event.
- ClPKBarcodeEventSignatureResponseiOS 14.0+A response that supplies the signature data for a barcode event.
Errors 5
Error domains and keys reported by Apple Pay, disbursement, and pass-provisioning operations.
- StPKPassKitErroriOS 6.0+Error codes for general PassKit operations.
- StPKPaymentErroriOS 11.0+Error codes reported when an Apple Pay payment fails.
- StPKPaymentErrorKeyConstants that identify keys in the user info of payment errors.
- StPKDisbursementErroriOS 17.0+Error codes reported when a disbursement fails.
- StPKDisbursementErrorKeyConstants that identify keys in the user info of disbursement errors.
Structures 6
- StAddPassToWalletButtonA control that displays the Add To Wallet button which allows users to
- StApplePayMerchandisingView
- StAsyncShareablePassConfigurationA view that asynchronously creatings a `PKAddShareablePassConfiguration` based
- StPayLaterViewA view that displays the Apple Pay Buy Now Pay Later (BNPL) Merchandising which allows users to
- StPayWithApplePayButtonA control that displays the Apple Pay button which allows users to invoke
- StVerifyIdentityWithWalletButton
Enumerations 1
- EnPKPayLater
Type Aliases 29
- TyPKSuppressionRequestToken
- TyPKInformationRequestCompletionBlock
- TyPKSignatureRequestCompletionBlock
- Ty__Float16x4_t
- Ty__Float16x8_t
- Ty__Float32x2_t
- Ty__Float32x4_t
- Ty__Float64x2_t
- Ty__Int16x4_t
- Ty__Int16x8_t
- Ty__Int32x2_t
- Ty__Int32x4_t
- Ty__Int64x2_t
- Ty__Int8x16_t
- Ty__Int8x8_t
- Ty__NSConstantString
Show 13 more
- Ty__Poly16x4_t
- Ty__Poly16x8_t
- Ty__Poly64x2_t
- Ty__Poly8x16_t
- Ty__Poly8x8_t
- Ty__Uint16x4_t
- Ty__Uint16x8_t
- Ty__Uint32x2_t
- Ty__Uint32x4_t
- Ty__Uint64x2_t
- Ty__Uint8x16_t
- Ty__Uint8x8_t
- Ty__builtin_ms_va_list