Entitlements
The entitlements system in ShipFlutter manages user subscriptions and purchases across different payment providers. It integrates with RevenueCat for mobile platforms and LemonSqueezy for web.
What are Entitlements?
An entitlement represents a user’s access to premium features. It includes:
The concept comes from RevenueCat’s Entitlements. We simplified and aligned it with LemonSqueezy’s Subscriptions.
Syncing Entitlements
The AccountService
automatically syncs entitlements with the user’s account:
- Listens to payment provider events
- Updates local entitlements state
- Syncs with Firestore database
- (Optional) Updates user’s custom claims
In addition, you can configure RevenueCat and/or LemonSqueezy webhooks to sync entitlements with the server.