<!--
{
  "documentType" : "article",
  "framework" : "PassKit",
  "identifier" : "/documentation/PassKit/apple-pay",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Apple Pay"
}
-->

# Apple Pay

Request and process Apple Pay payments in your app.

## Topics

### Apple Pay setup

[Setting up Apple Pay](/documentation/PassKit/setting-up-apple-pay)

Fulfill the requirements to provide Apple Pay as a payment option on your website or in your app.

[Offering Apple Pay in Your App](/documentation/PassKit/offering-apple-pay-in-your-app)

Collect payments with iPhone and Apple Watch using Apple Pay.

[Complying with regional regulations](/documentation/PassKit/complying-with-regional-regulations)

Check regional regulations for possible requirements for your Apple Pay-based implementation.

### Apple Pay availability

Determine if the device supports Apple Pay and whether the user has added payment cards.

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

An object that presents a sheet that prompts the user to authorize a payment request.

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

An object that presents a sheet that prompts the user to authorize a payment request.

### Apple Pay buttons

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

An object that displays a button either to trigger payments through Apple Pay or to prompt the user to set up a card.

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

A type that provides a button to pay with Apple pay.

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

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

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

### Payment requests

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

An object that represents a request for payment, including details about payment-processing capabilities, the payment amount, and shipping information.

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

A class that represents a request to set up a recurring payment, typically a subscription.

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

A class that represents a request to set up an automatic reload payment, such as a store card top-up or a prepaid account.

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

An object that represents a request to set up a deferred payment, such as a hotel booking or a pre-order.

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

A class that defines the context for a single payment token in a payment request for multimerchant payments.

### Disbursement requests

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

An object that represents a request to disburse funds from a merchant to an individual.

### Payment sheet interactions and authorization

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

An object that reports the status code and errors for a payment authorization request.

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

Optional metadata with payment order details for the placed order.

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

An object that presents a sheet that prompts the user to authorize a payment request.

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

An object that presents a sheet that prompts the user to authorize a payment request.

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

Represents the result of authorizing a payment request and contains payment information, encrypted in the payment token.

### Payment sheet updates

Process the user’s changes and update the payment sheet.

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

An object that updates a payment request with a merchant validation.

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

An object that updates the payment request after the payment method changes.

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

An object that updates the payment request after the shipping contact information changes.

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

An object that updates the payment request after the shipping method changed.

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

An object that updates the payment request after the coupon code changes.

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

The base class for updating the payment request after the user makes changes on the payment sheet.

### QR transaction information

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

An abstract superclass for an extension to collect payment information and sign transaction data in a QR code purchase.

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

### Entitlements

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

### Payment token format

[Payment token format reference](/documentation/PassKit/payment-token-format-reference)

Verify an Apple Pay payment token and validate a transaction.

### Errors

Provide granular error information for contact and address data.

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

A structure that describes errors that can occur while processing the disbursement.

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

Values that describe errors that can occur when processing disbursements.

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

An error type that you create to indicate problems with address or contact information on an Apple Pay sheet.

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

An error code that you provide to indicate problems with address or contact information on an Apple Pay sheet.

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

Additional details about an error on the Apple Pay sheet.

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

Values that describe errors that can occur while processing the disbursement.

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

The error domain for specific errors associated with Apple Pay in-app or web payments.

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

The error domain to use for errors with in-app disbursements.

### Deprecated

[`applePayLaterAvailability`](/documentation/PassKit/PKPaymentRequest/applePayLaterAvailability-3dxrt)

A value that indicates whether Apple Pay Later is available for a transaction.

[`PKPaymentRequest.ApplePayLaterAvailability`](/documentation/PassKit/PKPaymentRequest/ApplePayLaterAvailability-swift.enum)

Values you use to enable or disable Apple Pay Later for a specific transaction.

[`applePayLaterAvailability`](/documentation/PassKit/PKPaymentRequest/applePayLaterAvailability-inpf)

A value that indicates whether Apple Pay Later is available for a transaction.

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

Billing or shipping address fields.

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

Values you use to enable or disable Apple Pay Later for a specific transaction.

## See Also

  [Apple Pay Programming Guide](https://developer.apple.com/library/archive/ApplePay_Guide/index.html#//apple_ref/doc/uid/TP40014764)

  [iOS Human Interface Guidelines](https://developer.apple.com/ios/human-interface-guidelines/)



---

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)