initialize method
Future<bool>
initialize(
- PaymentConfig config, {
- dynamic onPaymentCompleted()?,
- Duration timeout = const Duration(seconds: 30),
Implementation
Future<bool> initialize(
PaymentConfig config, {
Function(PaymentStatusDetails)? onPaymentCompleted,
Duration timeout = const Duration(seconds: 30),
}) async {
if (_sessionCreated && _config.transactionId == config.transactionId) {
return true;
}
_isInitializing = true;
_initializationError = null;
_sessionCreated = false;
try {
_config = config;
_apiService = ApiService(_config);
_lastUsedBank = await _storageService.getLastUsedBank();
_paymentCompletionCallback = onPaymentCompleted;
// Create payment session
final response = await _apiService.createAuthenticationSession();
_personalBanks = response.data.bankList.personalBanks;
_businessBanks = response.data.bankList.businessBanks;
_sessionCreated = true;
return true;
} catch (e) {
_initializationError = e.toString();
debugPrint('Initialization error: $e');
return false;
} finally {
_isInitializing = false;
}
}