<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 11.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PassKit",
  "identifier" : "/documentation/PassKit/PKPaymentAuthorizationViewControllerDelegate/paymentAuthorizationViewController(_:didSelect:handler:)-3bex6",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "PassKit (Apple Pay and Wallet)"
    ],
    "preciseIdentifier" : "c:objc(pl)PKPaymentAuthorizationViewControllerDelegate(im)paymentAuthorizationViewController:didSelectPaymentMethod:handler:"
  },
  "title" : "paymentAuthorizationViewController(_:didSelect:handler:)"
}
-->

# paymentAuthorizationViewController(_:didSelect:handler:)

Tells the delegate that the user changed the payment method, and asks for an updated payment request.

```
optional func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController, didSelect paymentMethod: PKPaymentMethod, handler completion: @escaping @Sendable (PKPaymentRequestPaymentMethodUpdate) -> Void)
```

```
optional func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController, didSelect paymentMethod: PKPaymentMethod) async -> PKPaymentRequestPaymentMethodUpdate
```

## Parameters

`controller`

The payment authorization view controller.

`paymentMethod`

The new payment method.

`completion`

The completion handler to call with the updated payment summary items.

## Discussion

The system calls this method when the user selects a new payment card.  Use this delegate callback to update the summary items in response to the card type changing (for example, applying credit card surcharges), and then call the handler with the updated summary items.

---

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)