What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Last Shipaton, Kamal got an iOS app onto the App Store but did not finish its in-app purchase flow. After further attempts to understand App Store Connect and RevenueCat, Kamal eventually shipped a paywall in Japatan, a Japanese-learning app for English speakers. As of September 22, 2026, six people had subscribed, bringing in about $13 in reported revenue. “That is not a success,” Kamal writes—but it is a clear account of what it took to get from a stalled purchase setup to a working way to charge.

“In-app purchases are hard” was the first lesson

On August 23, 2025, after four hours of struggling with RevenueCat purchases, Kamal posted: “In-app purchases are hard. Four hours in and I’m back where I started. If anyone is confident with RevenueCat purchases, I’d love some advice.” The app itself reached the App Store, but the purchase flow did not make it into the Shipaton release.

That distinction matters: getting an app listing approved and making a purchase work are separate shipping milestones. An app can be downloadable while its paid features remain unavailable. Kamal’s next attempt, in January 2026, also stalled amid confusion about a .p8 key and identifiers. The eventual progress came through repeated setup work, not a single fix.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why the App Store setup stalled

In a later practice app, sandbox purchases were not the main obstacle. The more time-consuming work was configuring product metadata and making the App Store Connect setup correspond to the RevenueCat setup. App Store Connect displayed “Missing Metadata” without identifying the missing field. Kamal eventually found that a localization had not been added. RevenueCat’s product-setup guidance also treats localization information as part of product configuration, but the specific missing localization was the cause in Kamal’s account.

This is a useful troubleshooting clue, not a guarantee that every “Missing Metadata” warning has the same cause. When the store’s message is vague, check the product’s required information and localizations rather than assuming the purchase code or sandbox transaction is broken. Store configuration and the purchase SDK are separate parts of the setup, and a mismatch between them can keep a product from being usable even when the app code is progressing.

Products, offerings, and entitlements solve different problems

RevenueCat’s terminology becomes easier to work with when each object has one job:

  • Product: the purchase item and store SKU, with its identifier and price configured for the iOS storefront in App Store Connect.
  • Offering: a group or selection of products presented as purchasable options. RevenueCat describes offerings as product groupings for display; an offering can be paired with a paywall.
  • Entitlement: the access level the app checks after a customer makes a purchase.

In Japatan, Kamal configured four products—weekly, monthly, yearly, and lifetime—and connected them to one premium entitlement. The app could then use a single isPremium state for its paid features instead of branching throughout the app according to which subscription tier a person had purchased.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

That simple access model fit Kamal’s implementation, but the lifetime purchase needed special care. Kamal says a separate check was needed for the one-time lifetime product because it could appear in non-subscriptions without an active entitlement. That is a detail of this implementation, not a universal rule for every SDK or app: check the transaction and entitlement state returned by the SDK you use, and make sure lifetime access is represented correctly in the app.

From practice app to Japatan’s paywall

Work on a vocabulary practice app in May and June 2026 brought the setup closer to completion. The remaining effort centered on metadata and keeping the App Store Connect products aligned with RevenueCat, rather than on sandbox testing itself. From June onward, Kamal carried that work into Japatan, using the four-product configuration under the shared premium-access concept.

In August, Kamal initially used a ready-made RevenueCat paywall during onboarding, then replaced its screen with a custom design while continuing to take plan options from the offering. The distinction is practical: a paywall is the customer-facing presentation; the offering supplies the product choices. RevenueCat documents configurable paywalls that can be remotely changed and used for experiments. A custom screen can give the app a more tailored presentation, while a ready-made option can reduce how much UI must be built. Kamal’s account does not compare their conversion or performance, so it does not establish that either approach sells better.

Pricing also changed during this period. After feedback, Kamal wrote: “The weekly plan didn’t feel right, so back to monthly.” That is a product decision, not evidence that monthly pricing is generally superior. The useful point is to treat the plans shown on a paywall as choices to revisit, rather than assuming the first configuration is the final one.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What AI-assisted RevenueCat setup does—and does not—mean

Kamal’s retrospective places RevenueCat’s MCP server launch in September 2025 and its AI Toolkit launch in May 2026. RevenueCat’s current documentation describes the AI Toolkit as plugins, skills, an MCP server, and a CLI for coding agents, with documented use cases including subscription setup, SDK integration, paywalls, analytics, and troubleshooting.

In Kamal’s own historical workflow, AI tools did not create the App Store Connect products. That observation describes the setup at the time and should not be taken as a universal statement about current capabilities: RevenueCat’s current MCP documentation describes tools for managing products, offerings, and store-product state. Which actions an agent can perform depends on the supported connection, permissions, and configuration. AI assistance can help with RevenueCat work, but it does not erase the need to verify the actual store products, metadata, and access behavior.

Six subscribers is an implementation milestone, not proof of success

As of September 22, 2026, Kamal reported six subscribers and about $13 in revenue from Japatan. Those are the author’s own figures, not independently audited results or a representative benchmark. They do not establish net profit, recurring monthly revenue, retention, or what another app should expect.

Kamal is direct about the scale: “That is not a success.” The achievement is narrower and more concrete: after missing the purchase-flow milestone in an earlier Shipaton and struggling through subsequent attempts, the app could finally present plans and accept payment. Kamal’s closing motivation captures what that changed: “Now people are paying for something I made, and I want to give them more than they paid for.”

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.