<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "PassKit",
  "identifier" : "/documentation/PassKit/AddPassToWalletButton",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "PassKit (Apple Pay and Wallet)",
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:16_PassKit_SwiftUI03AddA14ToWalletButtonV"
  },
  "title" : "AddPassToWalletButton"
}
-->

# AddPassToWalletButton

A type that provides a button that enables people to add a new or existing pass to Apple Wallet.

```
@MainActor @preconcurrency struct AddPassToWalletButton<Fallback> where Fallback : View
```

## Overview

Use this structure as the SwiftUI equivalent to [`PKAddPassButton`](/documentation/PassKit/PKAddPassButton). For design guidance, see Human Interface Guidelines > Technologies > [Wallet](https://developer.apple.com/design/human-interface-guidelines/wallet#Passes).

This example checks for a created pass and displays the Add to Apple Wallet button.

```swift
@State private var addedToWallet = false

@ViewBuilder var addPassButton: some View {
    if let pass = createMyPass() {
        AddPassToWalletButton([pass]) { added in
            addedToWallet = added
        }
        .frame(width: 250, height: 50)
        .addPassToWalletButtonStyle(.blackOutline)
    } else {
        // Display a fallback view if no pass exists.
    }
}
```

## Topics

### Creating the button

[`init(_:cardholderName:passStyle:primaryAccountSuffix:cardDetails:description:filters:onRequest:onCompletion:)`](/documentation/PassKit/AddPassToWalletButton/init(_:cardholderName:passStyle:primaryAccountSuffix:cardDetails:description:filters:onRequest:onCompletion:))

[`init(_:cardholderName:passStyle:primaryAccountSuffix:cardDetails:description:filters:onRequest:onCompletion:fallback:)`](/documentation/PassKit/AddPassToWalletButton/init(_:cardholderName:passStyle:primaryAccountSuffix:cardDetails:description:filters:onRequest:onCompletion:fallback:))

[`init(_:onCompletion:)`](/documentation/PassKit/AddPassToWalletButton/init(_:onCompletion:)-1inhj)

[`init(_:onCompletion:)`](/documentation/PassKit/AddPassToWalletButton/init(_:onCompletion:)-5wkyi)

[`init(_:onCompletion:fallback:)`](/documentation/PassKit/AddPassToWalletButton/init(_:onCompletion:fallback:)-77t5g)

[`init(_:onCompletion:fallback:)`](/documentation/PassKit/AddPassToWalletButton/init(_:onCompletion:fallback:)-7adn5)

[`init(_:onRequest:onCompletion:)`](/documentation/PassKit/AddPassToWalletButton/init(_:onRequest:onCompletion:))

[`init(_:onRequest:onCompletion:fallback:)`](/documentation/PassKit/AddPassToWalletButton/init(_:onRequest:onCompletion:fallback:))

[`init(_:primaryAccountSuffix:passStyle:cardDetails:description:filters:onRequest:onCompletion:)`](/documentation/PassKit/AddPassToWalletButton/init(_:primaryAccountSuffix:passStyle:cardDetails:description:filters:onRequest:onCompletion:))

[`init(_:primaryAccountSuffix:passStyle:cardDetails:description:filters:onRequest:onCompletion:fallback:)`](/documentation/PassKit/AddPassToWalletButton/init(_:primaryAccountSuffix:passStyle:cardDetails:description:filters:onRequest:onCompletion:fallback:))

[`init(action:)`](/documentation/PassKit/AddPassToWalletButton/init(action:))

[`init(carKeyPassword:supportedRadioTechnologies:issuerIdentifier:onCompletion:)`](/documentation/PassKit/AddPassToWalletButton/init(carKeyPassword:supportedRadioTechnologies:issuerIdentifier:onCompletion:))

[`init(carKeyPassword:supportedRadioTechnologies:issuerIdentifier:onCompletion:fallback:)`](/documentation/PassKit/AddPassToWalletButton/init(carKeyPassword:supportedRadioTechnologies:issuerIdentifier:onCompletion:fallback:))



---

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)