<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 15.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 8.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "StoreKit",
  "identifier" : "/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "StoreKit"
    ],
    "preciseIdentifier" : "s:8StoreKit7ProductV16SubscriptionInfoV07RenewalE0V"
  },
  "title" : "Product.SubscriptionInfo.RenewalInfo"
}
-->

# Product.SubscriptionInfo.RenewalInfo

The renewal information for an auto-renewable subscription.

```
struct RenewalInfo
```

## Overview

`Product.SubscriptionInfo.RenewalInfo` provides information about the next subscription renewal period. Check the [`state`](/documentation/StoreKit/Product/SubscriptionInfo/Status-swift.struct/state) to determine whether the subscription will be active (subscribed), expired, or in another state at the next renewal period.

## Topics

### Getting the environment

[`environment`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/environment)

The server environment that signs the renewal information for an auto-renewable subscription.

### Getting the transaction ID

[`originalTransactionID`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/originalTransactionID)

The transaction identifier of the original purchase.

### Identifying the account

[`appAccountToken`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/appAccountToken)

The app account token you provided during the subscription purchase, if one exists.

[`appTransactionID`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/appTransactionID)

The unique identifier of the app download transaction.

### Getting the product ID

[`currentProductID`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/currentProductID)

The subscription product ID that the customer is subscribed to.

### Getting subscription dates

[`recentSubscriptionStartDate`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/recentSubscriptionStartDate)

The earliest start date of a subscription in a series of auto-renewable subscription purchases that ignores all lapses of paid service shorter than 60 days.

[`renewalDate`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/renewalDate)

The UNIX time, in milliseconds, that the most recent auto-renewable subscription purchase expires.

### Getting the renewal or expiration state

[`state`](/documentation/StoreKit/Product/SubscriptionInfo/Status-swift.struct/state)

The renewal state of the auto-renewable subscription.

[`autoRenewPreference`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/autoRenewPreference)

The product ID of the auto-renewable subscription that will automatically renew.

[`willAutoRenew`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/willAutoRenew)

A Boolean value that indicates whether the subscription automatically renews in the next period.

[`expirationReason`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/expirationReason-swift.property)

The reason the auto-renewable subscription expired.

[`Product.SubscriptionInfo.RenewalInfo.ExpirationReason`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/ExpirationReason-swift.struct)

The reasons for auto-renewable subscription expirations.

### Getting offers

[`offer`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/offer)

A subscription offer that applies to the transaction at the next renewal period.

[`Transaction.Offer`](/documentation/StoreKit/Transaction/Offer-swift.struct)

Discounts or promotions that apply to a transaction.

[`eligibleWinBackOfferIDs`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/eligibleWinBackOfferIDs)

An array of strings that represent identifiers of win-back offers that the customer is eligible to redeem, sorted with the best offers first.

### Getting the renewal price and currency

[`renewalPrice`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/renewalPrice)

The renewal price of the auto-renewable subscription that renews at the next billing period.

[`currency`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/currency)

The currency of the subscription’s renewal price.

### Getting billing status

[`isInBillingRetry`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/isInBillingRetry)

A Boolean value that indicates whether an auto-renewable subscription is in the billing retry period.

[`gracePeriodExpirationDate`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/gracePeriodExpirationDate)

The date the billing grace period expires for the auto-renewable subscription.

### Getting the price increase status

[Managing Price Increases for Auto-Renewable Subscriptions](/documentation/StoreKit/managing-price-increases-for-auto-renewable-subscriptions)

Identify the price increase status for auto-renewable subscriptions in your app and on your server.

[`priceIncreaseStatus`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/priceIncreaseStatus-swift.property)

The status that indicates whether the auto-renewable subscription is subject to a price increase.

[`Product.SubscriptionInfo.RenewalInfo.PriceIncreaseStatus`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/PriceIncreaseStatus-swift.enum)

Status values that indicate whether an auto-renewable subscription is subject to a price increase.

### Verifying subscription renewal information

[`deviceVerification`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/deviceVerification)

The device verification value to use to verify whether the renewal information belongs to the device.

[`deviceVerificationNonce`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/deviceVerificationNonce)

The UUID to use to compute the device verification value.

[`signedDate`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/signedDate)

The date that the App Store signed the JWS renewal information.

### Getting subscription renewal info in JSON format

[`jsonRepresentation`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/jsonRepresentation)

The JSON representation of the subscription renewal information.

### Getting renewal information for Advanced Commerce API

[`advancedCommerceInfo`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/advancedCommerceInfo-swift.property)

Renewal information for a subscription that uses the Advanced Commerce API.

[`Product.SubscriptionInfo.RenewalInfo.AdvancedCommerceInfo`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/AdvancedCommerceInfo-swift.struct)

Renewal information for subscriptions that use the Advanced Commerce API.

### Deprecated

[`environmentStringRepresentation`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/environmentStringRepresentation)

The string representation of the server environment that signs the renewal information for an auto-renewable subscription.

[`offerID`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/offerID)

A string that identifies an offer that applies to the next subscription period.

[`offerType`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/offerType)

The subscription offer type for the next subscription period.

[`currencyCode`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/currencyCode)

The three-letter ISO 4217 currency code for the price of the product.

[`offerPaymentModeStringRepresentation`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/offerPaymentModeStringRepresentation)

[`offerPeriodStringRepresentation`](/documentation/StoreKit/Product/SubscriptionInfo/RenewalInfo/offerPeriodStringRepresentation)

The string representation of the subscription offer period applied to the next billing period.



---

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)