moveme_wallet 0.1.0
moveme_wallet: ^0.1.0 copied to clipboard
SDK Dart/Flutter for MoveMe Digital Wallet (accounts, balance, debit, transfer, loads).
example/main.dart
/// Exemplo de integração com a Carteira Digital MoveMe.
///
/// ```bash
/// BASE_URL=... API_KEY=... dart run example/main.dart
/// ```
library;
import 'dart:io';
import 'package:moveme_wallet/moveme_wallet.dart';
Future<void> main() async {
final apiKey = Platform.environment['API_KEY'];
final baseUrl = Platform.environment['BASE_URL'];
if (apiKey == null || apiKey.isEmpty || baseUrl == null || baseUrl.isEmpty) {
stderr.writeln('Defina BASE_URL e API_KEY no ambiente.');
exitCode = 1;
return;
}
final externalUserId =
Platform.environment['EXTERNAL_USER_ID'] ?? 'moveme:sdk_example';
final client = DigitalWalletClient(
config: WalletConfig(baseUrl: baseUrl, apiKey: apiKey),
);
try {
final health = await client.health();
stdout.writeln('health: $health');
final account = await client.createAccount(externalUserId: externalUserId);
stdout.writeln('account: ${account.id} balance=${account.balance}');
final balance = await client.getBalance(account.id);
stdout.writeln('balance: ${balance.balance} ${balance.currency}');
final page = await client.getTransactions(account.id, limit: 10);
stdout.writeln('transactions: ${page.total}');
} on WalletException catch (e) {
stderr.writeln(e);
exitCode = 1;
} finally {
client.close();
}
}