---
title: SubscriptionStoreControlStyleConfiguration.Option
framework: storekit
role: symbol
role_heading: Structure
path: storekit/subscriptionstorecontrolstyleconfiguration/option
---

# SubscriptionStoreControlStyleConfiguration.Option

Properties of an auto-renewable subscription option to merchandise.

## Declaration

```swift
@dynamicMemberLookup struct Option
```

## Overview

Overview You use SubscriptionStoreControlStyleConfiguration.Option very similarly to Product values, with some important differences: The offer property indicates the offer that applies to the purchase. Display the terms of the offer, and ignore offer properties on Product.SubscriptionInfo, such as introductoryOffer. If the offer is nil, no offer applies to the purchase. Call the subscribe() method when a customer activates a control to subscribe to a subscription option, instead of methods on Product, such as purchase(confirmIn:options:). Access the decorative icon using the icon property. SubscriptionStoreControlStyleConfiguration.Option is a dynamic member lookup type, so you don’t need to use subscription directly to access the properties of the Product value. Instead, access the properties of Product or Product.SubscriptionInfo directly on the Option value. In the example below, the displayName property is available on Option to use as the button label: struct DisplayNameButtonsControlStyle: SubscriptionStoreControlStyle {

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

## Topics

### Getting the subscription product and offer

- [subscription](storekit/subscriptionstorecontrolstyleconfiguration/option/subscription.md)
- [id](storekit/subscriptionstorecontrolstyleconfiguration/option/id.md)
- [activeOffer](storekit/subscriptionstorecontrolstyleconfiguration/option/activeoffer.md)

### Getting the icon

- [icon](storekit/subscriptionstorecontrolstyleconfiguration/option/icon.md)

### Purchasing a subscription option

- [subscribe()](storekit/subscriptionstorecontrolstyleconfiguration/option/subscribe().md)

### Looking up dynamic members

- [subscript(dynamicMember:)](storekit/subscriptionstorecontrolstyleconfiguration/option/subscript(dynamicmember:)-8sl2m.md)
- [subscript(dynamicMember:)](storekit/subscriptionstorecontrolstyleconfiguration/option/subscript(dynamicmember:)-wjww.md)
- [subscript(dynamicMember:)](storekit/subscriptionstorecontrolstyleconfiguration/option/subscript(dynamicmember:)-9g2sm.md)

### Default Implementations

- [Identifiable Implementations](storekit/subscriptionstorecontrolstyleconfiguration/option/identifiable-implementations.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)
- [Identifiable](swift/identifiable.md)

## See Also

### Getting subscription options to merchandise

- [options](storekit/subscriptionstorecontrolstyleconfiguration/options.md)
- [sections](storekit/subscriptionstorecontrolstyleconfiguration/sections.md)
- [SubscriptionStoreControlStyleConfiguration.PickerOption](storekit/subscriptionstorecontrolstyleconfiguration/pickeroption.md)
- [SubscriptionStoreControlStyleConfiguration.Section](storekit/subscriptionstorecontrolstyleconfiguration/section.md)
- [SubscriptionStoreControlStyleConfiguration.Icon](storekit/subscriptionstorecontrolstyleconfiguration/icon.md)
