RevenueCat is a powerful, reliable, and free to use in-app purchase server with cross-platform support. Our open-source framework provides a backend and a wrapper around StoreKit and Google Play Billing to make implementing in-app purchases and subscriptions easy.
Whether you are building a new app or already have millions of customers, you can use RevenueCat to:
Sign up to get started for free.
RevenueCat is the client for the RevenueCat subscription and purchase tracking system. It's 100% Swift
and compatible with Objective-C
.
RevenueCat | |
---|---|
✅ | Server-side receipt validation |
➡️ | Webhooks - enhanced server-to-server communication with events for purchases, renewals, cancellations, and more |
🖥 | iOS, tvOS, macOS and watchOS support |
🎯 | Subscription status tracking - know whether a user is subscribed whether they're on iOS, Android or web |
📊 | Analytics - automatic calculation of metrics like conversion, mrr, and churn |
📝 | Online documentation and SDK Reference up to date |
🔀 | Integrations - over a dozen integrations to easily send purchase data where you need it |
💯 | Well maintained - frequent releases |
📮 | Great support - Contact us |
For more detailed information, you can view our complete documentation at docs.revenuecat.com.
Please follow the Quickstart Guide for more information on how to install the SDK.
Or view our iOS sample apps:
Platform | Minimum target |
---|---|
iOS | 11.0+ |
tvOS | 11.0+ |
macOS | 10.13+ |
watchOS | 6.2+ |
Our full SDK reference can be found here.
Contributions are always welcome! To learn how you can contribute, please see the Contributing Guide.
link |
Stars: 1682 |
Last commit: 16 hours ago |
DispatchTimeInterval
& Date
: avoid 32-bit overflows, fix watchOS
crashes (#2342) via NachoSoto (@NachoSoto)AppleReceipt.mostRecentActiveSubscription
: performance optimization (#2332) via NachoSoto (@NachoSoto)CI
: also run tests on watchOS
(#2340) via NachoSoto (@NachoSoto)RELEASING.md
: added GitHub rate limiting parameter (#2336) via NachoSoto (@NachoSoto)iff
with if and only if
(#2323) via @aboedoPurchases.restorePurchases
: added docstring about successful results (#2316) via NachoSoto (@NachoSoto)RELEASING.md
: fixed hotfix instructions (#2304) via NachoSoto (@NachoSoto)PurchaseTester
: fixed leak when reconfiguring Purchases
(#2311) via NachoSoto (@NachoSoto)ProductsFetcherSK2
: add underlying error to description (#2281) via Chris Vasselli (@chrisvasselli)Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics