Files
Termind/Memory/APP_STORE_COMMERCE.md
T
2026-09-13 13:26:54 +08:00

4.1 KiB

App Store commerce configuration

Termind Pro offers an annual auto-renewable subscription and a permanent non-consumable. Both support Family Sharing. The annual subscription owns its introductory free trial; StoreKit metadata and verified transactions are the sole sources for eligibility, offer duration, price, billing period, and expiration.

Products

Field Annual Lifetime
Product ID com.akinokaede.termind.pro.annual com.akinokaede.termind.pro
Reference name Termind Pro Annual Termind Pro Lifetime
US price $3.99/year $9.99
Type Auto-renewable, one year Non-consumable
Family Sharing Enabled Enabled
English name Termind Pro Annual Termind Pro Lifetime
Simplified Chinese name Termind Pro 年度订阅 Termind Pro 永久版
Traditional Chinese name Termind Pro 年度訂閱 Termind Pro 永久版

Annual descriptions:

  • English: Annual AI, MCP, sync & multi-pane access.
  • Simplified Chinese: 按年使用AI、MCP、同步与多窗格功能。
  • Traditional Chinese: 按年使用AI、MCP、同步與多窗格功能。

Lifetime descriptions:

  • English: Lifetime AI, MCP, sync & multi-pane access.
  • Simplified Chinese: 永久使用AI、MCP、同步与多窗格功能。
  • Traditional Chinese: 永久使用AI、MCP、同步與多窗格功能。

Configure the annual product in one Termind Pro subscription group. Its introductory offer is free and currently lasts two weeks, but the app never hard-codes that duration. Billing Grace Period is 16 days, applies only to paid-to-paid renewals, and must be tested in Sandbox before enabling Production.

StoreKit/Termind.storekit is local test data only. App Store Connect remains the source of production product metadata and cannot be changed by the repository.

Legacy trial compatibility

com.akinokaede.termind.pro.trial is retired and must not be fetched or offered. Verified historical transactions remain readable so an unexpired legacy trial is honored. Expired, revoked, or unverifiable legacy trial history grants nothing and does not affect Apple's introductory-offer eligibility for the new subscription group. ProTrial.duration and TrialClock exist only for this compatibility path.

There is no review-demo access override. App Review and release verification use the StoreKit configuration, Sandbox accounts, or Apple's review environment.

Entitlement rules

Permanent access wins over every subscription state. A verified annual transaction grants Pro while subscribed, during its introductory trial, or during a verified billing grace period. Cancellation keeps access through the verified expiration. Billing retry without grace, expiration, upgrade-away, refund, or revocation denies access. A current-launch workspace composition is not dismantled when access ends; other Pro features and fresh launches use the current entitlement immediately.

Product metadata failure never removes already verified access. macOS and mobile refresh on foreground activation, and Transaction.updates handles purchases, renewals, refunds, revocations, and Ask to Buy completion.

Release verification

Automated StoreKitTrialTests use SKTestSession and the local configuration. Before submission, verify with a new Sandbox account:

  1. The paywall obtains the localized annual/lifetime prices, annual billing period, introductory-offer eligibility, and offer duration from StoreKit.
  2. Trial purchase, renewal, cancellation, restore, expiration, billing retry, paid- to-paid grace, refund, revocation, Ask to Buy, and transaction updates.
  3. Same-account access across Mac, iPhone, and iPad, plus Family Sharing.
  4. An active legacy trial remains usable, but its expiration does not block the annual introductory offer.

References: subscriptions, isEligibleForIntroOffer, currentEntitlements, and transaction history.