fetchFeeAmount method
Implementation
@action
Future<ValueResult<DepositRequestFeeResponse>> fetchFeeAmount(
String depositRequestId,
double amount,
PaymentMethodType selectedMethod,
) async {
setLoading(true);
clearError();
try {
final result = await _checkoutService.getDepositRequestFee(
depositRequestId,
selectedMethod,
);
if (result.isError) {
setError(result.error);
return result;
}
final feeResponse = result.value;
if (feeResponse == null) {
setError('Valor da taxa indisponível.');
return ValueResult.failure('Valor da taxa indisponível.');
}
final currentFee = feeResponse.feeAmount ?? 0;
setFeeAmount(currentFee);
setTotalAmount(amount + currentFee);
return result;
} catch (e) {
setError(e.toString());
return ValueResult.failure(e.toString());
} finally {
setLoading(false);
}
}