Purchase infrastructure has to handle messy real-world timing: network loss, delayed store callbacks, app restarts, and users switching identities. AppActor is designed around recoverable state rather than one-shot purchase assumptions.

Reliability model

  • receipts can be retried until the backend confirms them
  • customer info can be refreshed after purchase, restore, or sync
  • cached offerings and remote config can keep UI responsive
  • offline-derived entitlement state can prevent the app from going blind during transient outages
  • explicit queue-drain APIs exist for operational recovery cases

Integration responsibility

Your app still owns:
  • rendering resilient paywall UI
  • showing support or restore actions in the right places
  • choosing when to force fresh state
  • avoiding premium access decisions based only on local button taps

What to test

Run store-backed tests for purchase, restore, reinstall, anonymous-to-identified identity transitions, and flaky-network launch behavior before release.