iap-compliance

Detects external payment processors and WebView payment flows in iOS projects to enforce Apple IAP Guideline 3.1.1.

Updated Aug 14, 2026
One-click install
npx skills add https://github.com/tvh25082004/Badminton --skill iap-compliance-tvh25082004
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: iap-compliance
Source: https://github.com/tvh25082004/Badminton/tree/main/.claude/skills/apple-app-review/business/iap-compliance
Command: npx skills add https://github.com/tvh25082004/Badminton --skill iap-compliance-tvh25082004

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? iOS apps that sell digital goods through Stripe, PayPal, or WebView checkout pages get rejected from the App Store under Guideline 3.1.1. This Skill scans your Swift codebase before submission to catch these violations early, avoiding costly review rejections and resubmission delays. ## Core Features & Use Cases - External Payment SDK Detection: Greps Swift sources and dependency manifests for Stripe, PayPal, Braintree, and Square usage near purchase or subscription contexts. - WebView Payment Bypass Detection: Flags WKWebView and SFSafariViewController flows that load payment, checkout, or billing URLs for digital goods. - StoreKit Verification: Confirms StoreKit integration exists and that a restore purchases mechanism is implemented for non-consumable IAP and subscriptions. - Use Case: Before submitting a subscription app to App Review, run this audit to find a forgotten Stripe checkout in your paywall and a missing Restore Purchases button, then fix both before Apple rejects the build. ## Quick Start Ask the AI to audit your iOS project for App Store IAP compliance violations under Guideline 3.1.1.

Frequently Asked Questions about iap-compliance

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

FAQPage Schema
How do I check if my iOS app violates Apple Guideline 3.1.1?▼

Scan your Swift sources for Stripe, PayPal, Braintree, or Square usage near purchase or subscription code, and check WebView flows loading payment URLs. Digital goods must use StoreKit; external processors trigger rejection.

Can I use Stripe for in-app purchases on iOS?▼

Stripe is prohibited for digital goods and subscriptions under Guideline 3.1.1; those must use Apple IAP via StoreKit. Stripe is allowed only for physical goods and services, or on the US storefront with Apple's External Purchase Entitlement.

Does this audit work with React Native or Flutter projects?▼

Yes, the audit supports Swift, Objective-C, React Native, and Flutter projects. It greps source files and dependency manifests like Podfile and Package.swift for payment SDK patterns regardless of framework.

Why was my app rejected for a WebView payment page?▼

Routing digital goods purchases through a WKWebView or SFSafariViewController checkout page bypasses Apple IAP and violates Guideline 3.1.1. Reviewers inspect WebView destinations for payment flows, so replace them with StoreKit purchases.

What is the External Purchase Entitlement for the US App Store?▼

Since May 2025, apps on the US storefront may link to external purchases using the com.apple.developer.storekit.external-purchase-link entitlement with required disclosure language. Without this entitlement, external payment links remain a rejection in all storefronts.