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