commitmentInfo
TypeScriptget commitmentInfo(): (Product_SubscriptionInfo_RenewalInfo_CommitmentInfo) | nullSwift declarationlet commitmentInfo: Product.SubscriptionInfo.RenewalInfo.CommitmentInfo?struct · iOS 15.0+ · SDK 27.1
struct RenewalInfoRepresents signed renewal information for a purchase.
get commitmentInfo(): (Product_SubscriptionInfo_RenewalInfo_CommitmentInfo) | nullSwift declarationlet commitmentInfo: Product.SubscriptionInfo.RenewalInfo.CommitmentInfo?get advancedCommerceInfo(): (Product_SubscriptionInfo_RenewalInfo_AdvancedCommerceInfo) | nullSwift declarationlet advancedCommerceInfo: Product.SubscriptionInfo.RenewalInfo.AdvancedCommerceInfo?Metadata specific to Advanced Commerce.
get bundleProductID(): (string) | nullSwift declaration@backDeployed(before: iOS 27.0, macOS 27.0, tvOS 27.0, watchOS 27.0, visionOS 27.0)
var bundleProductID: String? { get }Identifies the bundle product the next renewal is for. If the next renewal is created as part of a subscription bundle, this field will be populated with the product ID of the bundle.
get bundleSubscriptionGroupID(): (string) | nullSwift declaration@backDeployed(before: iOS 27.0, macOS 27.0, tvOS 27.0, watchOS 27.0, visionOS 27.0)
var bundleSubscriptionGroupID: String? { get }Identifies the subscription bundle group the next renewal is for. - Note: Only for renewals of subscriptions included in a bundle.
get recentSubscriptionStartDate(): globalThis.DateSwift declaration@backDeployed(before: iOS 16.0, macOS 13.0, tvOS 16.0, watchOS 9.0, macCatalyst 16.0)
var recentSubscriptionStartDate: Date { get }The date that marks the start of the most recent period of *continuous subscription*. A period is considered a *continuous subscription* if there is no more than a 60 day gap between any two subscribed periods. - Important: When using `recentSubscriptionStartDate` on systems earlier than iOS 16.0, macOS 13.0, tvOS 16.0 or watchOS 9.0, the property may return a sentinel date equal to `Date.distantPast` in some uncommon cases: (1) StoreKit Testing in Xcode (workaround: test your app on a device running a more recent OS) or (2) a critical server error.
get currentProductID(): stringSwift declarationlet currentProductID: StringThe currently active product identifier, or the most recently active product identifier if the subscription is expired.
get signedDate(): globalThis.DateSwift declarationlet signedDate: DateThe date this renewal info was generated and signed.
get environment(): AppStore_EnvironmentSwift declarationlet environment: AppStore.EnvironmentThe server environment the renewal info was created in.
get renewalDate(): (globalThis.Date) | nullSwift declaration@backDeployed(before: iOS 17.0, macOS 14.0, tvOS 17.0, watchOS 10.0, macCatalyst 17.0)
var renewalDate: Date? { get }The date of the next subscription renewal.
get currencyCode(): (string) | nullSwift declaration@backDeployed(before: iOS 16.0, macOS 13.0, tvOS 16.0, watchOS 9.0)
var currencyCode: String? { get }ISO3A code for the currency used for the purchase. - Important: The property may return a `nil` value in some uncommon cases: (1) The renewalPrice is also `nil`, (2) StoreKit Testing in Xcode (workaround: test your app on a device running a more recent OS) or (3) a critical server error. @DeprecationSummary { Use the ``currency`` property instead. }
get renewalPrice(): (_Foundation_Decimal) | nullSwift declaration@backDeployed(before: iOS 18.0, macOS 15.0, tvOS 18.0, watchOS 11.0, visionOS 2.0)
var renewalPrice: Decimal? { get }The amount that will be charged to the customer on the next renewal date.
get willUnbundle(): booleanSwift declaration@backDeployed(before: iOS 27.0, macOS 27.0, tvOS 27.0, watchOS 27.0, visionOS 27.0)
var willUnbundle: Bool { get }Whether the subscription will leave the bundle at the next renewal and renew as a standalone product. - Note: Only for renewals of subscriptions included in a bundle.
get willAutoRenew(): booleanSwift declarationlet willAutoRenew: BoolWhether the subscription will auto renew at the end of the current billing period.
get appAccountToken(): (string) | nullSwift declaration@backDeployed(before: iOS 18.4, macOS 15.4, tvOS 18.4, watchOS 11.4, visionOS 2.4)
var appAccountToken: UUID? { get }get appTransactionID(): stringSwift declaration@backDeployed(before: iOS 18.4, macOS 15.4, tvOS 18.4, watchOS 11.4, visionOS 2.4)
var appTransactionID: String { get }get debugDescription(): stringSwift declarationvar debugDescription: String { get }A textual representation of this instance, suitable for debugging. Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the `String(reflecting:)` initializer. This initializer works with any type, and uses the custom `debugDescription` property for types that conform to `CustomDebugStringConvertible`: struct Point: CustomDebugStringConvertible { let x: Int, y: Int var debugDescription: String { return "(\(x), \(y))" } } let p = Point(x: 21, y: 30) let s = String(reflecting: p) print(s) // Prints "(21, 30)" The conversion of `p` to a string in the assignment to `s` uses the `Point` type's `debugDescription` property.
get expirationReason(): (Product_SubscriptionInfo_RenewalInfo_ExpirationReason) | nullSwift declarationlet expirationReason: Product.SubscriptionInfo.RenewalInfo.ExpirationReason?The reason the subscription expired.
get isInBillingRetry(): booleanSwift declarationlet isInBillingRetry: BoolWhether the subscription is in a billing retry period.
get deviceVerification(): ArrayBufferSwift declarationlet deviceVerification: DataA SHA-384 hash of `AppStore.deviceVerificationID` appended after `deviceVerificationNonce` (both lowercased UUID strings).
get jsonRepresentation(): ArrayBufferSwift declarationvar jsonRepresentation: Data { get }The JSON representation of the renewal information.
get autoRenewPreference(): (string) | nullSwift declarationlet autoRenewPreference: String?The product identifier the subscription will auto renew to at the end of the current billing period. If the user disabled auto renewing, this property will be `nil`.
get priceIncreaseStatus(): Product_SubscriptionInfo_RenewalInfo_PriceIncreaseStatusSwift declarationlet priceIncreaseStatus: Product.SubscriptionInfo.RenewalInfo.PriceIncreaseStatusThe status of a price increase for the user.
get originalTransactionID(): numberSwift declarationlet originalTransactionID: UInt64The original transaction identifier for the subscription group.
get renewalBillingPlanType(): (Product_SubscriptionInfo_BillingPlanType) | nullSwift declarationlet renewalBillingPlanType: SubscriptionInfo.BillingPlanType?get deviceVerificationNonce(): stringSwift declarationlet deviceVerificationNonce: UUIDThe nonce used when computing `deviceVerification`. - SeeAlso: `AppStore.deviceVerificationID`
get eligibleWinBackOfferIDs(): Array<string>Swift declarationlet eligibleWinBackOfferIDs: [String]List of win-back offers the user is eligible to apply to a purchase for this subscription group. - Note: The first item in the list is the best fit offer for the current user.
get gracePeriodExpirationDate(): (globalThis.Date) | nullSwift declarationlet gracePeriodExpirationDate: Date?The date the billing grace period will expire.
get bundleOriginalTransactionID(): (string) | nullSwift declaration@backDeployed(before: iOS 27.0, macOS 27.0, tvOS 27.0, watchOS 27.0, visionOS 27.0)
var bundleOriginalTransactionID: String? { get }get environmentStringRepresentation(): stringSwift declaration@backDeployed(before: iOS 16.0, macOS 13.0, tvOS 16.0, watchOS 9.0, macCatalyst 16.0)
var environmentStringRepresentation: String { get }The server environment the renewal info was created in. The possible values this can return are "Production" for apps downloaded from the App Store, "Sandbox" for the App Store Sandbox and apps downloaded from TestFlight, and "Xcode" for StoreKit Testing in Xcode. - Important: The property may return a sentinel empty string in some uncommon cases: (1) StoreKit Testing in Xcode (workaround: test your app on a device running a more recent OS) or (2) a critical server error. If possible, use the ``Product/SubscriptionInfo/RenewalInfo/environment`` property to guarantee a valid value. @DeprecationSummary { Use the ``environment`` property instead. }
get offerPeriodStringRepresentation(): (string) | nullSwift declaration@backDeployed(before: iOS 18.4, macOS 15.4, tvOS 18.4, watchOS 11.4, visionOS 2.4)
var offerPeriodStringRepresentation: String? { get }The string representation of the subscription offer period applied to the next billing period. - Note: Only when there is an offer applied for this subscription. - Important: The property may return a sentinel nil value in some uncommon cases: (1) StoreKit Testing in Xcode (workaround: test your app on a device running a more recent OS), or (2) a critical server error. @DeprecationSummary { Use the ``offer`` property instead. }
get offerPaymentModeStringRepresentation(): (string) | nullSwift declaration@backDeployed(before: iOS 18.0, macOS 15.0, tvOS 18.0, watchOS 11.0, visionOS 2.0)
var offerPaymentModeStringRepresentation: String? { get }The string representation of the subscription offer payment mode applied to the next billing period. - Note: Only when there is an offer applied for this subscription. - Important: The property may return a `nil` value in some cases: (1) StoreKit Testing in Xcode (workaround: test your app on a device running a more recent OS), (2) older transaction information where this field is absent, or (3) a critical server error. @DeprecationSummary { Use the ``offer`` property instead. }
get offer(): (Transaction_Offer) | nullSwift declarationlet offer: Transaction.Offer?A subscription offer that applies at the next renewal period.
get offerID(): (string) | nullSwift declarationvar offerID: String? { get }Identifies the offer that will be applied to the next billing period. If `offerType` is `promotional`, this will be the offer identifier. If `offerType` is `code`, this will be the offer code reference name. This will be `nil` for `introductory` offers and if there will be no offer applied for the next billing period. @DeprecationSummary { Use the ``offer`` property instead. }
get currency(): (_Foundation_Locale_Currency) | nullSwift declaration@backDeployed(before: iOS 18.0, macOS 15.0, tvOS 18.0, watchOS 11.0, visionOS 2.0)
var currency: Locale.Currency? { get }The `Locale.Currency` used for the purchase. - Important: The currency value is nil if the renewalPrice is unavailable.
get offerType(): (Transaction_OfferType) | nullSwift declarationvar offerType: Transaction.OfferType? { get }The type of the offer that will be applied to the next billing period. @DeprecationSummary { Use the ``offer`` property instead. }
No declarations were skipped in this snapshot.