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.initialize() once at app startup, before runApp():

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

void main() {
  FedaFlutter.initialize(
    apiKey: 'your_sandbox_api_key',
    environment: FedaEnvironment.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(
      apiKey: 'your_sandbox_api_key',
      transactionId: transactionId!,
      environment: FedaEnvironment.sandbox,
      onPaymentSuccess: () {
        Navigator.pop(context);
        ScaffoldMessenger.of(context).showSnackBar(
          const SnackBar(content: Text('Payment successful! 🎉')),
        );
      },
      onPaymentFailed: () => Navigator.pop(context),
      onPaymentCanceled: () => Navigator.pop(context),
    ),
  ),
));

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


Transactions API

Security