<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -",
    "macOS: 15.0.0 -",
    "tvOS: 18.0.0 -",
    "visionOS: 2.0.0 -",
    "watchOS: 11.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "StoreKit",
  "identifier" : "/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/Option/subscription",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "StoreKit",
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:17_StoreKit_SwiftUI012SubscriptionA25ControlStyleConfigurationV6OptionV12subscription0aB07ProductVvp"
  },
  "title" : "subscription"
}
-->

# subscription

The auto-renewable subscription to merchandise.

```
var subscription: Product { get }
```

## Discussion

[`SubscriptionStoreControlStyleConfiguration.Option`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/Option) is a dynamic member lookup type, which code refers to as `Option` when it’s a nested type. You don’t need to use the [`subscription`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/Option/subscription) property directly to access the properties of the [`Product`](/documentation/StoreKit/Product) value. Instead, access any properties of [`Product`](/documentation/StoreKit/Product) or [`Product.SubscriptionInfo`](/documentation/StoreKit/Product/SubscriptionInfo) directly on the `Option` value.

The following code example creates a button for each subscription option and displays its name. The [`displayName`](/documentation/StoreKit/Product/displayName) property is available on [`SubscriptionStoreControlStyleConfiguration.Option`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/Option) to use as the button label.

```swift
struct DisplayNameButtonsControlStyle: SubscriptionStoreControlStyle {

    func makeBody(configuration: Configuration) -> some View {
        ForEach(configuration.options) { option in
            Button(option.displayName, action: option.subscribe)
        }
    }
}
```

> Important:
> Use the ``doc://com.apple.storekit/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/Option/subscribe()`` method on the ``doc://com.apple.storekit/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/Option`` value when a customer initiates a purchase. Don’t use ``doc://com.apple.storekit/documentation/StoreKit/Product/purchase(confirmIn:options:)-6dj6y`` or related purchase methods on this property for initiating a purchase.

---

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)