API Reference

Transactions

Create and manage FedaPay transactions.

TransactionsRepository

Access via FedaFlutter.instance.transactions.

Methods

getTransactions()

Returns a paginated list of transactions.

final res = await repo.getTransactions();
// res.data → List<Transaction>
// res.meta → pagination info

getTransaction(int id)

Returns a single transaction by ID.

final res = await repo.getTransaction(42);
print(res.data?.status); // 'approved'

createTransaction(dynamic data)

Creates a new transaction. Accepts a TransactionCreate DTO or a raw Map.

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

updateTransaction(int id, dynamic data)

Updates an existing transaction.

await repo.updateTransaction(42, TransactionCreate(
  description: 'Updated order',
  amount: 6000,
  currency: CurrencyIso(iso: 'XOF'),
));

directPayment(dynamic data, {String mode})

Initiates a direct mobile money payment using an existing transaction token.

final res = await repo.directPayment(
  TransactionDirectPayment(
    currency: CurrencyIso(iso: 'XOF'),
    description: 'Direct payment',
    amount: 5000,
    token: 'existing_tx_token',
    phoneNumber: PhoneNumber(number: '97000000', country: 'BJ'),
  ),
  mode: 'moov',
);

DTOs

TransactionCreate

FieldTypeRequired
descriptionString
amountnum
currencyCurrencyIso
callbackUrlString?
customMetadataMap?
customerCustomerCreate?

TransactionDirectPayment

FieldTypeRequired
currencyCurrencyIso
descriptionString
amountnum
tokenString
phoneNumberPhoneNumber