---
title: "paymentAuthorizationViewControllerDidFinish(_:)"
framework: passkit
role: symbol
role_heading: Instance Method
path: "passkit/pkpaymentauthorizationviewcontrollerdelegate/paymentauthorizationviewcontrollerdidfinish(_:)"
---

# paymentAuthorizationViewControllerDidFinish(_:)

Tells the delegate that payment authorization finished.

## Declaration

```swift
func paymentAuthorizationViewControllerDidFinish(_ controller: PKPaymentAuthorizationViewController)
```

## Parameters

- `controller`: The payment authorization view controller.

## Discussion

Discussion This delegate method is called every time a payment finishes. A payment may finish because authorization was completed in paymentAuthorizationViewController(_:didAuthorizePayment:handler:), because authorization timed out, or because the user canceled the payment. important: Make any needed payment-related updates to your app’s state in this delegate method, especially if the payment is canceled or times out. Also, be sure to call dismiss(completion:) on the payment authorization view controller.

## See Also

### Handling user’s payment authorization

- [paymentAuthorizationViewController(_:didRequestMerchantSessionUpdate:)](passkit/pkpaymentauthorizationviewcontrollerdelegate/paymentauthorizationviewcontroller(_:didrequestmerchantsessionupdate:).md)
- [paymentAuthorizationViewControllerWillAuthorizePayment(_:)](passkit/pkpaymentauthorizationviewcontrollerdelegate/paymentauthorizationviewcontrollerwillauthorizepayment(_:).md)
- [paymentAuthorizationViewController(_:didAuthorizePayment:handler:)](passkit/pkpaymentauthorizationviewcontrollerdelegate/paymentauthorizationviewcontroller(_:didauthorizepayment:handler:).md)
- [paymentAuthorizationViewController(_:didAuthorizePayment:completion:)](passkit/pkpaymentauthorizationviewcontrollerdelegate/paymentauthorizationviewcontroller(_:didauthorizepayment:completion:).md)
- [paymentAuthorizationViewController(_:didSelect:handler:)](passkit/pkpaymentauthorizationviewcontrollerdelegate/paymentauthorizationviewcontroller(_:didselect:handler:)-3bex6.md)
- [paymentAuthorizationViewController(_:didSelect:completion:)](passkit/pkpaymentauthorizationviewcontrollerdelegate/paymentauthorizationviewcontroller(_:didselect:completion:)-30s85.md)
