The Solid Revenue Flow for African Mobile Apps.
# SolydFlow Flutter SDK
The Solid Revenue Infrastructure for African Mobile Apps.
---
## What is SolydFlow?
SolydFlow is a hybrid revenue SDK designed specifically for the African market. It unifies **StoreKit (iOS)**, **Google Play Billing (Android)**, and **Local Mobile Money (Paystack/Flutterwave)** into a single, offline-first API.
Stop writing 3 different payment integrations. Write one line of code, and let SolydFlow handle the fragmentation, entitlement caching, and network retries.
## Key Features
- 🌍 **Hybrid Payments:** Seamlessly switch between Apple IAP and Mobile Money (M-Pesa, USSD, Bank Transfer) based on user location.
- ⚡ **Offline-First Entitlements:** Entitlements are cached and encrypted locally. Your app knows if a user is "Pro" even without internet access.
- đź§ **Smart Retry Engine:** Built for unstable networks. If a webhook is delayed, SolydFlow polls and queues receipts to ensure no purchase is lost.
- 🔄 **Web-to-App Sync:** Instantly unlock features in the app after a web-based payment.
---
## Getting Started
### 1. Installation
Add the package to your `pubspec.yaml`:
```yaml
dependencies:
solydflow_flutter: ^0.1.0
```
### 2. Initialization
Initialize the SDK in your `main.dart`. You only need your public API Key.
```dart
import 'package:solydflow_flutter/solydflow.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// Initialize SolydFlow
await SolydFlow.configure(
apiKey: "sf_live_YOUR_API_KEY",
appUserID: "user_123" // Optional: Link to your internal Auth ID
);
runApp(MyApp());
}
```
### 3. Making a Purchase
You don't need to check `Platform.isIOS`. SolydFlow intelligently determines whether to show the native Apple/Google sheet or a localized Web Payment flow.
```dart
Future buySubscription() async {
try {
// Attempt purchase for the 'premium_monthly' package.
CustomerInfo customerInfo = await SolydFlow.purchasePackage("premium_monthly");
if (customerInfo.entitlements.all["pro"]!.isActiv …