RenewalInfoIOS constructor
const
RenewalInfoIOS({
- String? autoRenewPreference,
- String? expirationReason,
- double? gracePeriodExpirationDate,
- bool? isInBillingRetry,
- String? jsonRepresentation,
- String? pendingUpgradeProductId,
- String? priceIncreaseStatus,
- double? renewalDate,
- String? renewalOfferId,
- String? renewalOfferType,
- required bool willAutoRenew,
Implementation
const RenewalInfoIOS({
this.autoRenewPreference,
/// When subscription expires due to cancellation/billing issue
/// Possible values: "VOLUNTARY", "BILLING_ERROR", "DID_NOT_AGREE_TO_PRICE_INCREASE", "PRODUCT_NOT_AVAILABLE", "UNKNOWN"
this.expirationReason,
/// Grace period expiration date (milliseconds since epoch)
/// When set, subscription is in grace period (billing issue but still has access)
this.gracePeriodExpirationDate,
/// True if subscription failed to renew due to billing issue and is retrying
/// Note: Not directly available in RenewalInfo, available in Status
this.isInBillingRetry,
this.jsonRepresentation,
/// Product ID that will be used on next renewal (when user upgrades/downgrades)
/// If set and different from current productId, subscription will change on expiration
this.pendingUpgradeProductId,
/// User's response to subscription price increase
/// Possible values: "AGREED", "PENDING", null (no price increase)
this.priceIncreaseStatus,
/// Expected renewal date (milliseconds since epoch)
/// For active subscriptions, when the next renewal/charge will occur
this.renewalDate,
/// Offer ID applied to next renewal (promotional offer, subscription offer code, etc.)
this.renewalOfferId,
/// Type of offer applied to next renewal
/// Possible values: "PROMOTIONAL", "SUBSCRIPTION_OFFER_CODE", "WIN_BACK", etc.
this.renewalOfferType,
required this.willAutoRenew,
});