<!--
{
  "availability" : [
    "iOS: 16.4.0 -",
    "iPadOS: 16.4.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "StoreKit",
  "identifier" : "/documentation/StoreKit/PaymentMethodBinding/bind()",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "StoreKit"
    ],
    "preciseIdentifier" : "s:8StoreKit20PaymentMethodBindingV4bindyyYaKF"
  },
  "title" : "bind()"
}
-->

# bind()

Asks the user to confirm whether to add the payment method to their Apple payment methods.

```
func bind() async throws
```

## Discussion

> Important:
> This method displays a system prompt that asks users to authenticate with their Apple Account. Call this method only after an explicit user action, like tapping or clicking a button.

This method displays an Apple sheet that asks the user to confirm whether to add the payment method associated with the in-app binding ID ([`id`](/documentation/StoreKit/PaymentMethodBinding/id)). If the user confirms adding the payment method, it becomes the user’s primary payment method for media purchases and subscriptions from Apple.

The binding succeeds if this method doesn’t throw an error.

This method throws an error in any of the following conditions:

- The user cancels the sheet and doesn’t confirm the payment method update.
- The in-app binding ID (`id`) is invalid or expired.
- The user isn’t eligible.
- The app isn’t entitled to use this API.

For more information about the errors, see [`PaymentMethodBinding.PaymentMethodBindingError`](/documentation/StoreKit/PaymentMethodBinding/PaymentMethodBindingError) and [`StoreKitError.userCancelled`](/documentation/StoreKit/StoreKitError/userCancelled).

---

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)