Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Implement in-app purchases and subscriptions across iOS, Android, and Flutter with RevenueCat, paywalls, receipt validation, and subscription analytics.
Implement in-app purchases and subscriptions across iOS, Android, and Flutter with RevenueCat, paywalls, receipt validation, and subscription analytics.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
User needs to implement in-app purchases, subscriptions, paywalls, or monetization flows. Agent handles native APIs (StoreKit 2, Google Play Billing), cross-platform SDKs (RevenueCat, Adapty, Qonversion), paywall design, server verification, and subscription analytics.
TopicFileiOS StoreKit 2storekit.mdAndroid Billinggoogle-play.mdFlutter packagesflutter.mdRevenueCat SDKrevenuecat.mdPlatform comparisonplatforms.mdServer verificationserver.mdPaywall designpaywalls.mdSubscription metricsanalytics.mdTesting & sandboxtesting.md
ApproachWhen to UseTradeoffNative onlySingle platform, full controlMore code, no cross-platform syncRevenueCat/AdaptyCross-platform, fast launch1-2% fee, dependencyHybridNative + own backendFull control, more work
PlatformPricingBest ForRevenueCatFree <$2.5k MTR, then 1%Most apps, best docsAdaptyFree <$10k MTR, then 0.6%Cost-conscious, A/B paywallsQonversionFree <$10k MTR, then 3%Simple setupSuperwallPaywall-focusedPaywall A/B onlyGlassfyFree <$10k, then 0.5%Budget option
TypeiOSAndroidUse CaseConsumable✅✅Credits, coins, livesNon-consumable✅✅Unlock feature foreverAuto-renewable✅✅SubscriptionsNon-renewing✅❌Season pass, time-limited
Never trust client-side validation alone: iOS: App Store Server API with JWS verification Android: Google Play Developer API RevenueCat: Webhooks + REST API
StateActionPurchasedVerify → grant → finishPendingWait, show pending UIFailedShow error, don't grantDeferredWait for parental approvalRefundedRevoke immediatelyGrace periodLimited access, prompt paymentBilling retryMaintain access during retry
Must handle all of these (native or via webhooks): INITIAL_PURCHASE → grant access RENEWAL → extend access CANCELLATION → mark will-expire EXPIRATION → revoke access BILLING_ISSUE → prompt to update payment GRACE_PERIOD → limited access window PRICE_INCREASE → consent required (iOS) REFUND → revoke + flag user UPGRADE/DOWNGRADE → prorate
Required by App Store guidelines: Prominent restore button Works for logged-out users Handles family sharing (iOS) Cross-device sync
See paywalls.md for detailed patterns: Show value before price Anchor pricing (3 options, highlight middle) Free trial prominent Social proof if available A/B test everything
EnvironmentiOSAndroidDev/DebugStoreKit Config fileLicense testersSandboxSandbox accountsInternal testingProductionReal accountsProduction Sandbox subscription times: 1 week → 3 minutes 1 month → 5 minutes 1 year → 1 hour
No external payment links (anti-steering) Must use IAP for digital goods Physical goods/services can use Stripe Reader apps have exceptions 15-30% commission applies
Testing with real money → use sandbox/test accounts Not finishing transactions → auto-refund (Android 3 days) Hardcoding prices → always fetch from store (regional pricing) Missing transaction observer → lose purchases made outside app No server verification → trivially bypassable Ignoring grace period → users churn when they could recover Poor paywall UX → kills conversion regardless of price Not tracking metrics → can't optimize what you don't measure Forgetting restore button → App Store rejection Not handling family sharing → confused users
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.