Introduction to CroissantPay
In-app purchase infrastructure for React Native (open source coming soon)
What is CroissantPay?
CroissantPay is a complete solution for managing in-app purchases and subscriptions in React Native applications. It handles the complexity of integrating with Apple's App Store and Google Play, so you can focus on building your app.
Whether you're building a subscription-based app, selling one-time purchases, or offering consumables, CroissantPay provides a unified API that works across both platforms.
Why Choose CroissantPay?
Cross-Platform
One SDK for iOS and Android. Write purchase logic once and it works everywhere.
Self-Hostable (coming soon)
Self-hosting coming soon. Deploy on your own infrastructure with Docker. Full control over your data.
Server-Side Validation
All receipts are validated server-side for maximum security against fraud.
Built-in Analytics
Track MRR, churn, conversions, and more without any additional setup.
No Revenue Share
Unlike some alternatives, we don't take a cut of your revenue. Ever.
Open Source (coming soon)
We're going open source under MIT. Soon: inspect the code, contribute, or fork for your needs.
How It Works
Install the SDK
Add the CroissantPay React Native SDK to your project with npm or yarn.
Configure Your Products
Set up your products, entitlements, and offerings in the dashboard.
Display Your Paywall
Use our hooks to fetch offerings and display products to users.
Process Purchases
When users purchase, we validate receipts and grant entitlements automatically.
Check Access
Use hasEntitlement() to gate premium features in your app.
Key Concepts
Products
Products map to items in the App Store and Google Play. They can be subscriptions, one-time purchases, or consumables. Each product is linked to entitlements that define what access it grants.
Entitlements
Entitlements represent features or content that users can unlock through purchases. For example, a 'premium' entitlement might unlock ad-free experience and exclusive content.
Offerings
Offerings are curated groups of products to show on your paywall. You can have different offerings for different use cases (e.g., a 'default' offering and a 'sale' offering).
Subscribers
Subscribers are users identified by a unique app user ID. CroissantPay tracks their purchases, subscriptions, and entitlements across sessions and devices.
Architecture Overview
┌─────────────────┐ ┌─────────────────┐
│ Your App │ │ App Store / │
│ (React Native) │ │ Google Play │
└────────┬────────┘ └────────┬────────┘
│ │
│ SDK │ Receipts
▼ ▼
┌─────────────────────────────────────────┐
│ CroissantPay Server │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Receipt │ │ Entitle │ │ Webhook │ │
│ │ Valid. │ │ ments │ │ Handler │ │
│ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────┘
│
│ Webhooks
▼
┌─────────────────┐
│ Your Backend │
│ (Optional) │
└─────────────────┘Deployment Options
☁️ CroissantPay Cloud
Managed service with automatic updates, scaling, and support. Perfect for teams who want to focus on their app.
- No infrastructure to manage
- Automatic updates
- 99.9% SLA on paid plans
🏠 Self-Hosted (coming soon)
Self-hosting coming soon. Deploy on your own infrastructure with Docker. Full control over your data and no usage limits.
- Complete data ownership
- No subscriber limits
- Free forever (MIT license)