TechnologiesCommerce, Payments & Ads

PassKit

iOSmacOStvOSwatchOSvisionOS

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.

  • Cl
    PKPaymentRequestiOS 8.0+
    An object that describes the payment to authorize, including the merchant, summary items, and supported networks.
  • Cl
    PKPaymentSummaryItemiOS 8.0+
    An object that represents a single line item, such as a product or discount, in a payment request's summary.
  • En
    PKPaymentSummaryItemTypeiOS 9.0+
    Constants that indicate whether a summary item's amount is final or still pending.
  • Cl
    PKRecurringPaymentRequestiOS 16.0+
    A request that describes a recurring Apple Pay payment, such as a subscription.
  • Cl
    PKRecurringPaymentSummaryItemiOS 15.0+
    A summary item that defines the schedule and amount of a recurring payment.
  • Cl
    PKDeferredPaymentRequestiOS 16.4+
    A request that describes a payment charged at a later date, such as a preorder.
  • Cl
    PKDeferredPaymentSummaryItemiOS 15.0+
    A summary item that defines the deferred date and amount for a deferred payment.
  • Cl
    PKAutomaticReloadPaymentRequestiOS 16.0+
    A request that describes an automatic top-up charged when a balance falls below a threshold.
  • Cl
    PKAutomaticReloadPaymentSummaryItemiOS 16.0+
    A summary item that defines the threshold and reload amount for an automatic reload payment.
  • Cl
    PKDisbursementRequestiOS 17.0+
    A request that describes a disbursement of funds to a customer through Apple Pay.
  • Cl
    PKDisbursementSummaryItemiOS 17.0+
    A summary item that represents an amount being disbursed to a customer.
  • Cl
    PKInstantFundsOutFeeSummaryItemiOS 17.0+
    A summary item that represents the fee charged for an instant funds-out disbursement.
  • Cl
    PKPaymentTokenContextiOS 16.0+
    An object that describes the context of a single payment token within a multimerchant payment.
  • Cl
    PKPaymentOrderDetailsiOS 16.0+
    An object that supplies order details, such as a Wallet order, after a payment completes.
  • St
    PKPaymentNetwork
    Constants that identify the payment networks, such as Visa or Mastercard, a merchant supports.
  • St
    PKMerchantCapabilityiOS 8.0+
    Options that specify the payment-processing capabilities a merchant supports.
  • St
    PKEncryptionScheme
    Constants 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.

  • Cl
    PKPaymentAuthorizationControlleriOS 10.0+
    An object that presents and manages the Apple Pay sheet without a view controller.
  • Pr
    PKPaymentAuthorizationControllerDelegate
    A protocol for responding to authorization events from a payment authorization controller.
  • Cl
    PKPaymentAuthorizationViewControlleriOS 8.0+
    A view controller that presents the Apple Pay sheet and collects the user's authorization.
  • Pr
    PKPaymentAuthorizationViewControllerDelegate
    A protocol for responding to authorization events from a payment authorization view controller.
  • Cl
    PKPaymentButtoniOS 8.3+
    A button that initiates an Apple Pay transaction in UIKit or AppKit.
  • En
    PKPaymentButtonStyleiOS 8.3+
    Constants that specify the visual style of an Apple Pay payment button.
  • En
    PKPaymentButtonTypeiOS 8.3+
    Constants that specify the label and intent shown on an Apple Pay payment button.
  • Cl
    PKPaymentAuthorizationResultiOS 11.0+
    An object that reports the success or failure of a payment authorization, along with any errors.
  • En
    PKPaymentAuthorizationStatusiOS 8.0+
    Constants that indicate the outcome of a payment authorization.
  • Cl
    PKPaymentiOS 8.0+
    An object that contains the encrypted token and contact details for an authorized payment.
  • Cl
    PKPaymentTokeniOS 8.0+
    An object that contains the encrypted payment data passed to your server for processing.
  • Cl
    PKPaymentMethodiOS 9.0+
    An object that describes the payment card the user selected for a transaction.
  • En
    PKPaymentMethodTypeiOS 9.0+
    Constants that identify the kind of card, such as debit or credit, used for a payment.
  • Cl
    PKPaymentMerchantSessioniOS 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.

  • Cl
    PKPaymentRequestUpdateiOS 11.0+
    A base object that revises the payment request in response to a customer's changes.
  • Cl
    PKPaymentRequestShippingContactUpdateiOS 11.0+
    An update that revises the payment request after the customer changes the shipping contact.
  • Cl
    PKPaymentRequestShippingMethodUpdateiOS 11.0+
    An update that revises the payment request after the customer changes the shipping method.
  • Cl
    PKPaymentRequestPaymentMethodUpdateiOS 11.0+
    An update that revises the payment request after the customer changes the payment method.
  • Cl
    PKPaymentRequestMerchantSessionUpdateiOS 14.0+
    An update that provides a new merchant session for the payment request.
  • Cl
    PKPaymentRequestCouponCodeUpdateiOS 15.0+
    An update that revises the payment request after the customer enters a coupon code.
  • Cl
    PKShippingMethodiOS 8.0+
    An object that describes a shipping option, including its label, amount, and delivery dates.
  • En
    PKShippingTypeiOS 8.3+
    Constants that specify the kind of shipping, such as delivery or store pickup.
  • En
    PKShippingContactEditingModeiOS 15.0+
    Constants that specify whether the user can edit the shipping contact during a transaction.
  • Cl
    PKContactiOS 9.0+
    An object that holds the contact information, such as name and address, for a payment.
  • St
    PKContactField
    Constants that identify which contact fields, such as email or phone, the merchant requires.
  • St
    PKAddressField
    Options that specify which postal-address fields a merchant requires for a payment.
  • Cl
    PKLabeledValueiOS 10.1+
    An object that pairs a label with a value, used to convey contact-related details.
  • Cl
    PKDateComponentsRangeiOS 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.

  • St
    PayWithApplePayButtonLabel
    Determines the label on Pay With Apple Pay Button
  • St
    PayWithApplePayButtonStyle
    Determines the color of the Pay With Apple Pay Button
  • En
    PayWithApplePayButtonPaymentAuthorizationPhase
    Describes the current state of a payment transaction after a user starts the transaction.
  • St
    ApplePayMerchandisingAction
    Type of action taken when the button is tapped on the ApplePayMerchandisingView
  • St
    ApplePayMerchandisingPartnerConfiguration
    Defines the partner configuration for the ApplePayMerchandisingView
  • St
    ApplePayMerchandisingStyle
    Styling layout of the ApplePayMerchandisingView

Apple Pay Later 7

Views, actions, and availability types for surfacing Apple Pay Later financing options to customers.

  • Cl
    PKPayLaterViewiOS 17.0+
    A view that displays Apple Pay Later financing information for a purchase amount.
  • Pr
    PKPayLaterViewDelegateiOS 17.0+
    A protocol for responding to events from an Apple Pay Later view.
  • En
    PKPayLaterDisplayStyleiOS 17.0+
    Constants that specify how Apple Pay Later information is displayed.
  • En
    PKPayLaterActioniOS 17.0+
    Constants that specify the action a customer can take from an Apple Pay Later view.
  • En
    PKApplePayLaterAvailabilityiOS 17.0+
    Constants that indicate whether Apple Pay Later is available for a transaction.
  • St
    PayLaterViewAction
    A SwiftUI value that specifies the action presented by an Apple Pay Later view.
  • St
    PayLaterViewDisplayStyle
    A 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.

  • Cl
    PKPass
    An object that represents a pass in the user's Wallet, such as a ticket or boarding pass.
  • Cl
    PKObject
    The base object from which Wallet pass types inherit.
  • Cl
    PKPassLibraryiOS 6.0+
    An object that provides access to the passes stored in the user's Wallet.
  • En
    PKPassTypeiOS 8.0+
    Constants that identify the kind of pass, such as a barcode pass or secure-element pass.
  • Cl
    PKPassRelevantDate
    An object that describes a date or date interval at which a pass becomes relevant.
  • Cl
    PKAddPassButtoniOS 9.0+
    A button that lets the user add a pass to Wallet in UIKit or AppKit.
  • En
    PKAddPassButtonStyleiOS 9.0+
    Constants that specify the visual style of an Add to Wallet button.
  • Cl
    PKAddPassesViewControlleriOS 6.0+
    A view controller that presents the interface for adding one or more passes to Wallet.
  • Pr
    PKAddPassesViewControllerDelegate
    A protocol for responding to events from an add-passes view controller.
  • Cl
    PKAddPassMetadataPreviewiOS 18.0+
    An object that supplies preview metadata shown while adding a pass to Wallet.
  • St
    AddPassToWalletButtonFilter
    A SwiftUI value that filters which passes an Add to Wallet button applies to.
  • St
    AddPassToWalletButtonResponse
    A response containing all the data required to create an add payment
  • St
    AddPassToWalletButtonStyle
    A SwiftUI style that controls the appearance of an Add to Wallet button.
  • St
    PKPassLibraryNotificationName
    Constants that identify notifications posted by the pass library.
  • St
    PKPassLibraryNotificationKey
    Constants that identify keys in the user info of pass-library notifications.
  • En
    PKPassLibraryAddPassesStatusiOS 7.0+
    Constants that indicate the result of adding passes to the library.
  • En
    PKAutomaticPassPresentationSuppressionResultiOS 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.

  • Cl
    PKSecureElementPassiOS 13.4+
    An object that represents a pass backed by the secure element, such as a payment or transit card.
  • Cl
    PKPaymentPassiOS 8.0+
    An object that represents a provisioned payment card stored in the secure element.
  • En
    PKPaymentPassActivationState
    Constants that indicate the activation state of a provisioned payment pass.
  • Cl
    PKAddSecureElementPassConfigurationiOS 13.4+
    A configuration that describes a secure-element pass to add to Wallet.
  • Cl
    PKAddSecureElementPassViewControlleriOS 13.4+
    A view controller that presents the flow for adding a secure-element pass to Wallet.
  • Pr
    PKAddSecureElementPassViewControllerDelegateiOS 13.4+
    A protocol for responding to events from an add-secure-element-pass view controller.
  • St
    PKAddSecureElementPassErroriOS 13.4+
    Error codes reported when adding a secure-element pass fails.
  • Cl
    PKAddPaymentPassRequestConfigurationiOS 9.0+
    A configuration that describes the payment card to provision into Wallet.
  • Cl
    PKAddPaymentPassRequestiOS 9.0+
    An object that carries the encrypted data needed to provision a payment pass.
  • Cl
    PKAddPaymentPassViewControlleriOS 9.0+
    A view controller that presents the flow for provisioning a payment card into Wallet.
  • Pr
    PKAddPaymentPassViewControllerDelegateiOS 9.0+
    A protocol for supplying provisioning data to an add-payment-pass view controller.
  • En
    PKAddPaymentPassStyleiOS 12.0+
    Constants that specify the style of the add-payment-pass interface.
  • En
    PKAddPaymentPassErroriOS 9.0+
    Error codes reported when provisioning a payment pass fails.
  • Cl
    PKTransitPassPropertiesiOS 11.3+
    An object that exposes the transit-specific properties of a secure-element pass.
  • Cl
    PKSuicaPassPropertiesiOS 10.1+
    An object that exposes the properties of a Suica transit pass.
  • Cl
    PKStoredValuePassPropertiesiOS 15.0+
    An object that exposes the properties of a stored-value pass.
  • Cl
    PKStoredValuePassBalanceiOS 15.0+
    An object that represents a balance held on a stored-value pass.
  • St
    PKRadioTechnologyiOS 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.

  • Cl
    PKShareablePassMetadataiOS 14.0+
    An object that describes the metadata for sharing a pass with another user.
  • Cl
    PKAddShareablePassConfigurationiOS 14.0+
    A configuration that describes a shareable pass to add to Wallet.
  • En
    PKAddShareablePassConfigurationPrimaryActioniOS 14.0+
    Constants that specify the primary action offered when adding a shareable pass.
  • Cl
    PKShareSecureElementPassViewControlleriOS 16.0+
    A view controller that presents the flow for sharing a secure-element pass.
  • Pr
    PKShareSecureElementPassViewControllerDelegateiOS 16.0+
    A protocol for responding to events from a share-secure-element-pass view controller.
  • En
    PKShareSecureElementPassResultiOS 16.0+
    Share secure element pass result sent to delegate upon user completion.
  • St
    PKShareSecureElementPassErroriOS 16.0+
    Error codes reported when sharing a secure-element pass fails.
  • Cl
    PKAddCarKeyPassConfigurationiOS 13.4+
    A configuration that describes a car key pass to add to Wallet.
  • Cl
    PKVehicleConnectionSessioniOS 15.4+
    An object that manages a connection session between a device and a vehicle.
  • Pr
    PKVehicleConnectionDelegateiOS 15.4+
    A protocol for responding to state changes in a vehicle connection session.
  • En
    PKVehicleConnectionSessionConnectionStateiOS 15.4+
    Constants that indicate the connection state of a vehicle session.
  • En
    PKVehicleConnectionErrorCodeiOS 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.

  • Cl
    PKAddIdentityDocumentConfigurationiOS 18.0+
    A configuration that describes an identity document to add to Wallet.
  • Cl
    PKAddIdentityDocumentMetadataiOS 26.0+
    An object that supplies the metadata needed to add an identity document.
  • En
    PKAddIdentityDocumentType
    Constants that identify the kind of identity document being added.
  • Cl
    PKIdentityDocumentMetadataiOS 18.0+
    An object that describes the metadata of an identity document in Wallet.
  • Cl
    PKJapanIndividualNumberCardMetadataiOS 18.0+
    An object that describes the metadata for a Japanese Individual Number Card.
  • St
    JPKIPassContents
    A type that represents the contents of a Japanese Public Key Infrastructure pass.
  • Cl
    PKIdentityDocumentiOS 16.0+
    Represents the response of a request for an identity document.
  • Pr
    PKIdentityDocumentDescriptoriOS 16.0+
    "Descriptor" objects describe types of documents that can be requested. Different document
  • Cl
    PKIdentityDriversLicenseDescriptoriOS 16.0+
    Used to request information from a user's driver's license (or equivalent document).
  • Cl
    PKIdentityNationalIDCardDescriptoriOS 18.0+
    Used to request information from a user's national id card (or equivalent document).
  • Cl
    PKIdentityPhotoIDDescriptoriOS 26.0+
    Used to request information from a user's photo ID (or equivalent document).
  • Cl
    PKIdentityAnyOfDescriptoriOS 26.0+
    Used to request information from multiple identity documents.
  • Cl
    PKIdentityElementiOS 16.0+
    Elements that can be requested from identity documents. Not
  • Cl
    PKIdentityIntentToStoreiOS 16.0+
    Indicates your intention to store an identity element. This covers not only
  • Cl
    PKIdentityRequestiOS 16.0+
    Request for information from an identity document stored as a Wallet pass.
  • Cl
    PKIdentityAuthorizationControlleriOS 16.0+
    Used to request information from an identity document stored as a Wallet pass.
  • Cl
    PKIdentityButtoniOS 16.0+
    Button to show to the user to trigger the identity verification flow via PKIdentityAuthorizationController.
  • St
    PKIdentityErroriOS 16.0+
    Error codes reported when an identity-document request fails.
  • St
    VerifyIdentityWithWalletButtonLabel
    Determines the label on Verify Identity with Wallet Button
  • St
    VerifyIdentityWithWalletButtonStyle
    Determines 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.

  • Cl
    PKIssuerProvisioningExtensionHandleriOS 14.0+
    The principal object of an issuer provisioning app extension that supplies provisionable passes.
  • Pr
    PKIssuerProvisioningExtensionAuthorizationProvidingiOS 14.0+
    A protocol that supplies authorization for an issuer provisioning extension.
  • En
    PKIssuerProvisioningExtensionAuthorizationResultiOS 14.0+
    Constants that indicate the result of authorizing an issuer provisioning request.
  • Cl
    PKIssuerProvisioningExtensionStatusiOS 14.0+
    An object that reports the provisioning status returned by an issuer extension.
  • Cl
    PKIssuerProvisioningExtensionPassEntryiOS 14.0+
    A base object that represents a pass an issuer extension can provision.
  • Cl
    PKIssuerProvisioningExtensionPaymentPassEntryiOS 14.0+
    An object that represents a payment pass an issuer extension can provision.
  • Cl
    PKPaymentInformationEventExtensioniOS 14.0+
    The principal object of an app extension that responds to payment-information events.
  • Pr
    PKPaymentInformationRequestHandling
    A protocol for handling requests for payment information from Wallet.
  • Cl
    PKBarcodeEventConfigurationRequestiOS 14.0+
    A request for the configuration data needed to handle a barcode event.
  • En
    PKBarcodeEventConfigurationDataTypeiOS 14.0+
    Constants that identify the type of configuration data for a barcode event.
  • Cl
    PKBarcodeEventMetadataRequestiOS 14.0+
    A request for the metadata associated with a barcode event.
  • Cl
    PKBarcodeEventMetadataResponseiOS 14.0+
    A response that supplies the metadata for a barcode event.
  • Cl
    PKBarcodeEventSignatureRequestiOS 14.0+
    A request for the signature data associated with a barcode event.
  • Cl
    PKBarcodeEventSignatureResponseiOS 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.

  • St
    PKPassKitErroriOS 6.0+
    Error codes for general PassKit operations.
  • St
    PKPaymentErroriOS 11.0+
    Error codes reported when an Apple Pay payment fails.
  • St
    PKPaymentErrorKey
    Constants that identify keys in the user info of payment errors.
  • St
    PKDisbursementErroriOS 17.0+
    Error codes reported when a disbursement fails.
  • St
    PKDisbursementErrorKey
    Constants that identify keys in the user info of disbursement errors.

Structures 6

  • St
    AddPassToWalletButton
    A control that displays the Add To Wallet button which allows users to
  • St
    ApplePayMerchandisingView
  • St
    AsyncShareablePassConfiguration
    A view that asynchronously creatings a `PKAddShareablePassConfiguration` based
  • St
    PayLaterView
    A view that displays the Apple Pay Buy Now Pay Later (BNPL) Merchandising which allows users to
  • St
    PayWithApplePayButton
    A control that displays the Apple Pay button which allows users to invoke
  • St
    VerifyIdentityWithWalletButton

Enumerations 1

  • En
    PKPayLater

Type Aliases 29

  • Ty
    PKSuppressionRequestToken
  • Ty
    PKInformationRequestCompletionBlock
  • Ty
    PKSignatureRequestCompletionBlock
  • 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

Extends 2

__PKMerchantCategoryCodeView
← Commerce, Payments & Ads