---
title: AddPassToWalletButton
framework: passkit
role: symbol
role_heading: Structure
path: passkit/addpasstowalletbutton
---

# AddPassToWalletButton

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

## Declaration

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

## Overview

Overview Use this structure as the SwiftUI equivalent to PKAddPassButton. For design guidance, see Human Interface Guidelines > Technologies > Wallet. This example checks for a created pass and displays the Add to Apple Wallet button. @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:)](passkit/addpasstowalletbutton/init(_:cardholdername:passstyle:primaryaccountsuffix:carddetails:description:filters:onrequest:oncompletion:).md)
- [init(_:cardholderName:passStyle:primaryAccountSuffix:cardDetails:description:filters:onRequest:onCompletion:fallback:)](passkit/addpasstowalletbutton/init(_:cardholdername:passstyle:primaryaccountsuffix:carddetails:description:filters:onrequest:oncompletion:fallback:).md)
- [init(_:onCompletion:)](passkit/addpasstowalletbutton/init(_:oncompletion:)-1inhj.md)
- [init(_:onCompletion:)](passkit/addpasstowalletbutton/init(_:oncompletion:)-5wkyi.md)
- [init(_:onCompletion:fallback:)](passkit/addpasstowalletbutton/init(_:oncompletion:fallback:)-77t5g.md)
- [init(_:onCompletion:fallback:)](passkit/addpasstowalletbutton/init(_:oncompletion:fallback:)-7adn5.md)
- [init(_:onRequest:onCompletion:)](passkit/addpasstowalletbutton/init(_:onrequest:oncompletion:).md)
- [init(_:onRequest:onCompletion:fallback:)](passkit/addpasstowalletbutton/init(_:onrequest:oncompletion:fallback:).md)
- [init(_:primaryAccountSuffix:passStyle:cardDetails:description:filters:onRequest:onCompletion:)](passkit/addpasstowalletbutton/init(_:primaryaccountsuffix:passstyle:carddetails:description:filters:onrequest:oncompletion:).md)
- [init(_:primaryAccountSuffix:passStyle:cardDetails:description:filters:onRequest:onCompletion:fallback:)](passkit/addpasstowalletbutton/init(_:primaryaccountsuffix:passstyle:carddetails:description:filters:onrequest:oncompletion:fallback:).md)
- [init(action:)](passkit/addpasstowalletbutton/init(action:).md)
- [init(carKeyPassword:supportedRadioTechnologies:issuerIdentifier:onCompletion:)](passkit/addpasstowalletbutton/init(carkeypassword:supportedradiotechnologies:issueridentifier:oncompletion:).md)
- [init(carKeyPassword:supportedRadioTechnologies:issuerIdentifier:onCompletion:fallback:)](passkit/addpasstowalletbutton/init(carkeypassword:supportedradiotechnologies:issueridentifier:oncompletion:fallback:).md)

## Relationships

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [View](swiftui/view.md)

## See Also

### Common data types

- [PKObject](passkit/pkobject.md)
- [PKAddPassButton](passkit/pkaddpassbutton.md)
- [PKLabeledValue](passkit/pklabeledvalue.md)
- [AddPassToWalletButtonFilter](passkit/addpasstowalletbuttonfilter.md)
- [AddPassToWalletButtonResponse](passkit/addpasstowalletbuttonresponse.md)
- [AddPassToWalletButtonStyle](passkit/addpasstowalletbuttonstyle.md)
