DocsChangelog
Getting Started

Quick Start

Integrate FedaPay payments in your Flutter app in 4 steps.

Get up and running with feda_flutter in under 5 minutes.

Step 1 — Install

Terminal
flutter pub add feda_flutter

Step 2 — Initialize

Call FedaFlutter.applyConfig() (for testing) or FedaFlutter.applyCloudConfig() (for production) once at app startup:

main.dart
import 'package:feda_flutter/feda_flutter.dart';
import 'package:flutter/material.dart';

void main() {
  // Recommended for Production (Safe):
  FedaFlutter.applyCloudConfig(
    projectKey: 'your_public_project_key',
    cloudUrl: 'https://your-backend-api.com',
  );

  // OR for Testing (Direct API):
  // FedaFlutter.applyConfig(apiKey: 'sk_sandbox_...', environment: ApiEnvironment.sandbox);

  runApp(const MyApp());
}
Use your sandbox key during development. Switch to .live only for production.

Step 3 — Create a transaction

final transactions = FedaFlutter.instance.transactions;

final res = await transactions.createTransaction(TransactionCreate(
  description: 'Order #42',
  amount: 5000,
  currency: CurrencyIso(iso: 'XOF'),
  customer: CustomerCreate(
    firstname: 'John',
    lastname: 'Doe',
    email: 'john@example.com',
    phoneNumber: PhoneNumber(number: '97000000', country: 'BJ'),
  ),
));

final transactionId = res.data?.id;

Step 4 — Launch PayWidget

Navigator.push(context, MaterialPageRoute(
  builder: (_) => Scaffold(
    appBar: AppBar(title: const Text('Payment')),
    body: PayWidget(
      instance: FedaFlutter.instance,
      transactionToken: 'token_from_step_3',
      onPaymentSuccess: () {
        Navigator.pop(context);
        ScaffoldMessenger.of(context).showSnackBar(
          const SnackBar(content: Text('Payment successful! 🎉')),
        );
      },
      onPaymentFailed: () => Navigator.pop(context),
    ),
  ),
));

That's it! Your users can now pay via FedaPay directly in your Flutter app.


Transactions API

Security