storekit

Manage in-app purchases and subscriptions using StoreKit 2.

Updated Mar 31, 2026
One-click install
npx skills add https://github.com/DFly7/iOS-FastAPI-Supabase-AI --skill storekit-dfly7
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: storekit
Source: https://github.com/DFly7/iOS-FastAPI-Supabase-AI/tree/main/.agents/skills/storekit
Command: npx skills add https://github.com/DFly7/iOS-FastAPI-Supabase-AI --skill storekit-dfly7

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This guide removes the complexity of implementing and maintaining in-app purchases and subscriptions on iOS by documenting modern StoreKit 2 patterns for loading products, handling purchase flows, verifying transactions, and keeping entitlements correct across devices and family sharing.

Core Features & Use Cases

  • Product loading and presentation: Load localized products and display paywalls or individual product views with correct pricing and metadata.
  • Purchase and transaction handling: Handle purchase results, pending/Ask to Buy flows, unfinished transactions, and ensure transaction.finish() is always called after delivery.
  • Entitlement and subscription management: Use current entitlements and subscription status checks to gate features, handle renewals, grace periods, billing retry, refunds, family sharing, and price increases.
  • Advanced offers and server validation: Support promotional, introductory, offer codes, and win-back offers, plus server-side JWS validation and device binding for secure verification.
  • Testing and review readiness: Guidance for StoreKit configuration files, sandbox testing, restore flows, and App Store review checklist to avoid common rejections.

Quick Start

Integrate StoreKit 2 into your app, start a Transaction.updates listener at launch, load your Product IDs, verify purchases before granting access, and finish transactions after delivery.

Frequently Asked Questions about storekit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement StoreKit 2 paywalls for auto-renewable subscriptions?

To implement StoreKit 2 paywalls, load localized product IDs, display pricing metadata, handle purchase transaction updates, verify entitlements, and call transaction.finish() after delivery.

How do I verify StoreKit 2 transactions and validate App Transactions securely?

Verify StoreKit 2 transactions using server-side JWS validation and App Transaction validation to ensure entitlement checks and device binding are secure across user devices.

What is the best way to handle unfinished StoreKit 2 transactions and pending purchases?

Handle unfinished StoreKit 2 transactions by starting a Transaction.updates listener at app launch, processing pending Ask to Buy flows, and ensuring transaction.finish() is always called after granting entitlements.

Does StoreKit 2 support promotional offers, win-back offers, and offer codes?

Yes, StoreKit 2 supports promotional offers, introductory offers, win-back offers, and offer codes for auto-renewable and non-renewing subscriptions within native iOS apps.

How do I manage subscription billing retry, grace periods, and family sharing entitlements?

Manage subscription status by checking current entitlements to handle grace periods, billing retry events, refunds, price increases, and family sharing access across devices.

What is needed for App Store review readiness and sandbox testing of in-app purchases?

Achieve App Store review readiness by using StoreKit configuration files for sandbox testing, validating restore flows, and following a review checklist to avoid common in-app purchase rejections.