<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.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/PKPaymentAuthorizationStatus",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "PassKit (Apple Pay and Wallet)"
    ],
    "preciseIdentifier" : "c:@E@PKPaymentAuthorizationStatus"
  },
  "title" : "PKPaymentAuthorizationStatus"
}
-->

# PKPaymentAuthorizationStatus

General success and failure status for payment authorization.

```
enum PKPaymentAuthorizationStatus
```

## Overview

You pass the payment authorization status along with related [`errors`](/documentation/PassKit/PKPaymentAuthorizationResult/errors), if any,  to the completion block in [`PKPaymentAuthorizationResult`](/documentation/PassKit/PKPaymentAuthorizationResult).

Use the PIN status constants only when working in a region that requires 6-digit PIN numbers. To authorize a payment, follow this workflow:

1. The app sets up the payment request and displays the authorization view controller.
2. The user authorizes the payment.
3. If the purchase amount exceeds the user’s PIN limit or if the purchase uses a currency code other than the one expected by the bank, Apple Pay prompts the user for their PIN.
4. The user enters their PIN.
5. Apple Pay calls the delegate’s [`paymentAuthorizationViewController(_:didAuthorizePayment:completion:)`](/documentation/PassKit/PKPaymentAuthorizationViewControllerDelegate/paymentAuthorizationViewController(_:didAuthorizePayment:completion:)) method.
6. The app either processes the payment or uses a third-party SDK to process the payment. During this step, the PIN number is passed to the bank as part of the [`PKPaymentToken`](/documentation/PassKit/PKPaymentToken) object.
7. As soon as the payment is processed, the app calls the completion block, passing the appropriate [`PKPaymentAuthorizationStatus`](/documentation/PassKit/PKPaymentAuthorizationStatus) constant. If the bank reports a problem with the PIN, use the corresponding PIN status constant.

For more information on PIN requirements, check with your payment processor.

## Topics

### Payment authorization status constants

[`PKPaymentAuthorizationStatus.success`](/documentation/PassKit/PKPaymentAuthorizationStatus/success)

Merchant successfully authorized the transaction, or the transaction is expected to succeed.

[`PKPaymentAuthorizationStatus.failure`](/documentation/PassKit/PKPaymentAuthorizationStatus/failure)

Merchant failed to authorize the transaction.

[`PKPaymentAuthorizationStatus.invalidBillingPostalAddress`](/documentation/PassKit/PKPaymentAuthorizationStatus/invalidBillingPostalAddress)

Invalid or unusable billing address.

[`PKPaymentAuthorizationStatus.invalidShippingPostalAddress`](/documentation/PassKit/PKPaymentAuthorizationStatus/invalidShippingPostalAddress)

Invalid or unusable shipping address.

[`PKPaymentAuthorizationStatus.invalidShippingContact`](/documentation/PassKit/PKPaymentAuthorizationStatus/invalidShippingContact)

Invalid or incomplete shipping contact.

[`PKPaymentAuthorizationStatus.pinRequired`](/documentation/PassKit/PKPaymentAuthorizationStatus/pinRequired)

Transaction requires PIN entry.

[`PKPaymentAuthorizationStatus.pinIncorrect`](/documentation/PassKit/PKPaymentAuthorizationStatus/pinIncorrect)

Incorrect PIN entered.

[`PKPaymentAuthorizationStatus.pinLockout`](/documentation/PassKit/PKPaymentAuthorizationStatus/pinLockout)

PIN retry limit exceeded.



---

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)