iOS Subscription Billing Plans

StoreKit 26.4 adds billing plans for auto-renewable subscriptions, including monthly billing with a 12-month commitment and up-front billing for the full subscription period. OpenIAP exposes the selected billing plan on purchase results, available pricing terms on fetched products, and commitment renewal details when StoreKit returns them.

SubscriptionBillingPlanTypeIOS#

Enum used by RequestSubscriptionIosProps.billingPlanType, PurchaseIOS.billingPlanTypeIOS, pricing terms, and renewal commitment fields.

ValueSummary
unknownStoreKit returned an unsupported or unavailable billing plan type.
monthlyMonthly billing with a 12-month commitment.
up-frontUp-front billing for the full subscription period.
ts
type SubscriptionBillingPlanTypeIOS = 'unknown' | 'monthly' | 'up-front';

SubscriptionPricingTermsIOS#

Pricing term returned on ProductIOS.pricingTermsIOS, ProductSubscriptionIOS.pricingTermsIOS, and SubscriptionInfoIOS.pricingTerms. Use it to display the available commitment choices before starting a purchase.

NameSummary
billingDisplayPriceLocalized billing price for this plan.
billingPeriodBilling cadence as a SubscriptionPeriodIOS.
billingPlanTypemonthly, up-front, or unknown.
billingPriceNumeric billing price for this plan.
commitmentInfoFull commitment price and period for this plan. See SubscriptionCommitmentInfoIOS.
subscriptionOffersStoreKit offers attached to this billing plan, normalized as SubscriptionOffer.

SubscriptionCommitmentInfoIOS#

Commitment summary attached to a pricing term before purchase. It describes the full commitment, not just one billing installment.

NameSummary
displayPriceLocalized commitment total.
periodFull commitment duration.
priceNumeric commitment total.

TransactionCommitmentInfoIOS#

Commitment state attached to PurchaseIOS.commitmentInfoIOS after purchase and on later transaction reads such as latestTransactionIOS.

NameSummary
billingPeriodNumberCurrent billing period number within the commitment.
totalBillingPeriodsTotal number of billing periods in the commitment.
commitmentExpiresDateCommitment expiration timestamp in epoch milliseconds.
commitmentPriceNumeric price StoreKit reports for the commitment.

RenewalCommitmentInfoIOS#

Commitment renewal state attached to RenewalInfoIOS.commitmentInfo. Use this when StoreKit reports the next commitment renewal plan or renewal price.

NameSummary
commitmentAutoRenewProductIdProduct ID StoreKit will auto-renew to.
commitmentAutoRenewStatusWhether StoreKit reports the commitment will auto-renew.
commitmentRenewalBillingPlanTypeBilling plan type for the next commitment renewal.
commitmentRenewalDateNext commitment renewal timestamp in epoch milliseconds.
commitmentRenewalPriceNumeric renewal price for the next commitment.