initTransactionSession method
Future<void>
initTransactionSession(
)
override
Implementation
@override
Future<void> initTransactionSession() async {
view!.onLoad(true);
try {
final String authToken = await _getAuthToken();
final String transactionReference = _getTransactionReferenceOrGenerateNewGuid(viewModel.paymentDetails.transactionReference);
final ResponseDto<TransactionSessionResponseDto> sessionResponseDto = await _api!.initTransactionSession(
viewModel.paymentDetails.customerId,
Config.paymentCheckoutSuccessUrl,
Config.otpFailedUrl,
viewModel.paymentDetails.paidAmount,
transactionReference,
authToken);
final String? sessionToken = HttpUtils.getQueryParam(sessionResponseDto.response!.sessionUrl, 'token');
view!.onLoad(false);
view!.onInitTransactionSuccess(sessionToken!);
} on ApiException catch (e) {
view!.onLoad(false);
view!.onInitTransactionApiFail(e);
}
}