<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 11.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 3.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PassKit",
  "identifier" : "/documentation/PassKit/PKPaymentAuthorizationController",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "PassKit (Apple Pay and Wallet)"
    ],
    "preciseIdentifier" : "c:objc(cs)PKPaymentAuthorizationController"
  },
  "title" : "PKPaymentAuthorizationController"
}
-->

# PKPaymentAuthorizationController

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

```
class PKPaymentAuthorizationController
```

## Overview

After the user authorizes the payment request for a transaction, the delegate is called with a payment token used to authorize the transaction’s payment.

> Important:
> The ``doc://com.apple.passkit/documentation/PassKit/PKPaymentAuthorizationController`` class performs the same role as the ``doc://com.apple.passkit/documentation/PassKit/PKPaymentAuthorizationViewController`` class, but it does not depend on the UIKit framework. This means that the authorization controller can be used in places where a view controller cannot (for example, in watchOS apps or in SiriKit extensions).

## Topics

### Creating a payment authorization controller

[`init(paymentRequest:)`](/documentation/PassKit/PKPaymentAuthorizationController/init(paymentRequest:))

Initializes and returns a payment authorization controller.

[`init(disbursementRequest:)`](/documentation/PassKit/PKPaymentAuthorizationController/init(disbursementRequest:))

Creates a new payment authorization controller with the disbursement request you provide.

### Determining whether the user can make payments or disbursements

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

Returns whether the user can make payments.

[`canMakePayments(usingNetworks:)`](/documentation/PassKit/PKPaymentAuthorizationController/canMakePayments(usingNetworks:))

Returns whether the user can make payments through the specified network.

[`canMakePayments(usingNetworks:capabilities:)`](/documentation/PassKit/PKPaymentAuthorizationController/canMakePayments(usingNetworks:capabilities:))

Returns whether the user can make payments using a card from the specified network with the specified capabilities.

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

Returns a Boolean value that indicates whether this device can process disbursement requests.

[`supportsDisbursements(using:)`](/documentation/PassKit/PKPaymentAuthorizationController/supportsDisbursements(using:))

Returns a Boolean value that indicates whether this device can process disbursement requests using the specified payment network brands.

[`supportsDisbursements(using:capabilities:)`](/documentation/PassKit/PKPaymentAuthorizationController/supportsDisbursements(using:capabilities:))

Returns a Boolean value indicating whether this device can process disbursement requests using the specified payment network brands and capabilities.

### Handling user interactions

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

The controller’s delegate.

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

Methods that let you respond to user interactions with your payment authorization controller.

[`present(completion:)`](/documentation/PassKit/PKPaymentAuthorizationController/present(completion:))

Presents the payment sheet modally over your app.

[`dismiss(completion:)`](/documentation/PassKit/PKPaymentAuthorizationController/dismiss(completion:))

Dismisses the payment sheet.



---

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)
