---
title: Product.SubscriptionInfo.RenewalInfo.ExpirationReason
framework: storekit
role: symbol
role_heading: Structure
path: storekit/product/subscriptioninfo/renewalinfo/expirationreason-swift.struct
---

# Product.SubscriptionInfo.RenewalInfo.ExpirationReason

The reasons for auto-renewable subscription expirations.

## Declaration

```swift
struct ExpirationReason
```

## Topics

### Getting the expiration reason

- [autoRenewDisabled](storekit/product/subscriptioninfo/renewalinfo/expirationreason-swift.struct/autorenewdisabled.md)
- [billingError](storekit/product/subscriptioninfo/renewalinfo/expirationreason-swift.struct/billingerror.md)
- [didNotConsentToPriceIncrease](storekit/product/subscriptioninfo/renewalinfo/expirationreason-swift.struct/didnotconsenttopriceincrease.md)
- [productUnavailable](storekit/product/subscriptioninfo/renewalinfo/expirationreason-swift.struct/productunavailable.md)
- [unknown](storekit/product/subscriptioninfo/renewalinfo/expirationreason-swift.struct/unknown.md)

### Getting a localized description

- [localizedDescription](storekit/product/subscriptioninfo/renewalinfo/expirationreason-swift.struct/localizeddescription.md)

### Type Properties

- [unbundled](storekit/product/subscriptioninfo/renewalinfo/expirationreason-swift.struct/unbundled.md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Getting the renewal or expiration state

- [state](storekit/product/subscriptioninfo/status-swift.struct/state.md)
- [autoRenewPreference](storekit/product/subscriptioninfo/renewalinfo/autorenewpreference.md)
- [willAutoRenew](storekit/product/subscriptioninfo/renewalinfo/willautorenew.md)
- [expirationReason](storekit/product/subscriptioninfo/renewalinfo/expirationreason-swift.property.md)
