initPayment method
Implementation
void initPayment() {
if (isAgreedTerms.isFalse) {
CustomFlashWidget.showFlashMessage(
type: FlashType.info,
title: "Important",
message:
"Please review and accept our terms and conditions to access our services. Failure to do so will prevent you from proceeding",
);
return;
}
if (isAgreedPayment.isFalse) {
CustomFlashWidget.showFlashMessage(
type: FlashType.info,
title: "Important",
message:
"Please review and accept our terms and conditions to access our services. Failure to do so will prevent you from proceeding",
);
return;
}
if (type.value == SubscriptionType.corporateAddon) {
if (passengerAddonsPricing.value == null) {
CustomFlashWidget.showFlashMessage(
type: FlashType.error,
title: "Error2",
message: "Please select an addon first",
);
return;
}
if (corporatePassengersNumber.value < 1) {
CustomFlashWidget.showFlashMessage(
type: FlashType.error,
title: "Error",
message: "Please select the number of passengers first",
);
return;
}
} else {
if (selectedPackage.value == null) {
CustomFlashWidget.showFlashMessage(
type: FlashType.error,
title: "Error",
message: 'Please select a package first',
);
return;
}
}
paymentController.subscriptionName.value= selectedPackage.value?.name??"";
paymentController.paymentType.value = PaymentType.membership;
paymentController.selectedPaymentMethod.value = selectedPaymentMethod.value;
paymentController.subscriptionType.value = type.value;
paymentController.selectedUpgradeOption.value = selectedUpgradeOption.value;
paymentController.passengerAddonsPricing.value =
passengerAddonsPricing.value;
paymentController.corporatePassengersNumber.value =
corporatePassengersNumber.value;
paymentController.selectedPackage.value = selectedPackage.value;
if (selectedPaymentMethod.value == PaymentMethod.cryptoCurrency) {
paymentController.paymentExpireStartDate.value = DateTime.now();
paymentController.getAllCryptoCurrencies();
} else if (selectedPaymentMethod.value == PaymentMethod.cardPayment) {
paymentController.initiateCardPayment();
} else if (selectedPaymentMethod.value == PaymentMethod.bankTransfer) {
paymentController.initiateBankPayment();
}
}