diff --git a/lib/analytics/flows/advance_payments.dart b/lib/analytics/flows/advance_payments.dart index 37f18068..22a7bce5 100644 --- a/lib/analytics/flows/advance_payments.dart +++ b/lib/analytics/flows/advance_payments.dart @@ -69,8 +69,6 @@ class AdvancePayments{ // R046 payment_success({@required String hospital, payment_method, payment_type, txn_number, txn_amount, txn_currency}){ logger('payment_success', parameters: { - // 'appointment_type' : appointment_type, - // 'clinic_type_online' : clinic, 'payment_method' : payment_method, 'payment_type' : payment_type, 'hospital_name' : hospital, @@ -79,4 +77,16 @@ class AdvancePayments{ 'transaction_currency' : txn_currency }); } + + payment_fail({@required String hospital, payment_method, payment_type, txn_amount, txn_currency, error_type}){ + logger('payment_fail', parameters: { + 'payment_method' : payment_method, + 'payment_type' : payment_type, + 'hospital_name' : hospital, + 'transaction_amount' : txn_amount, + 'transaction_currency' : txn_currency, + 'error_type' : error_type + }); + } + } \ No newline at end of file diff --git a/lib/analytics/flows/appointments.dart b/lib/analytics/flows/appointments.dart index c405bc6a..72ce8177 100644 --- a/lib/analytics/flows/appointments.dart +++ b/lib/analytics/flows/appointments.dart @@ -244,6 +244,19 @@ class Appointment{ }); } + payment_fail({@required String appointment_type, clinic, hospital, payment_method, payment_type, txn_amount, txn_currency, error_type}){ + logger('payment_fail', parameters: { + 'appointment_type' : appointment_type, + 'payment_method' : payment_method, + 'payment_type' : payment_type, + 'hospital_name' : hospital, + 'clinic_type_online' : clinic, + 'transaction_amount' : txn_amount, + 'transaction_currency' : txn_currency, + 'error_type' : error_type + }); + } + // Note : - Payment flow beyond this step are same as listed under ‘Advance Payment’ section of this document appointment_detail_action({@required AppoitmentAllHistoryResultList appointment, @required String action}){ @@ -267,8 +280,7 @@ class Appointment{ 'appointment_type' : appointment.appointmentType, 'clinic_type_online' : appointment.clinicName, 'hospital_name' : appointment.projectName, - 'doctor_name' : (appointment.doctorName == null || appointment.doctorName == '') ? appointment.doctorNameObj : appointment.doctorName, - 'payment_type' : 'appointment', + 'doctor_name' : (appointment.doctorName == null || appointment.doctorName == '') ? appointment.doctorNameObj : appointment.doctorName }); } diff --git a/lib/pages/BookAppointment/BookSuccess.dart b/lib/pages/BookAppointment/BookSuccess.dart index 5132f118..a5f37d12 100644 --- a/lib/pages/BookAppointment/BookSuccess.dart +++ b/lib/pages/BookAppointment/BookSuccess.dart @@ -595,21 +595,32 @@ class _BookSuccessState extends State { } checkPaymentStatus(AppoitmentAllHistoryResultList appo) { + String txn_ref; + String amount; + String payment_method; + final currency = projectViewModel.user.outSA == 0 ? "sar" : 'aed'; GifLoaderDialogUtils.showMyDialog(context); DoctorsListService service = new DoctorsListService(); service.checkPaymentStatus(Utils.getAppointmentTransID(appo.projectID, appo.clinicID, appo.appointmentNo), context).then((res) { String paymentInfo = res['Response_Message']; if (paymentInfo == 'Success') { - String txn_ref = res['Merchant_Reference']; - String amount = res['Amount']; - String payment_method = res['PaymentMethod']; - final currency = projectViewModel.user.outSA == 0 ? "sar" : 'aed'; + txn_ref = res['Merchant_Reference']; + amount = res['Amount']; + payment_method = res['PaymentMethod']; createAdvancePayment(res, appo); projectViewModel.analytics.appointment.payment_success( appointment_type: 'regular', payment_method: payment_method, clinic: appo.clinicName, hospital: appo.projectName, txn_amount: "$amount", txn_currency: currency, txn_number: txn_ref); } else { GifLoaderDialogUtils.hideDialog(context); AppToast.showErrorToast(message: res['Response_Message']); + projectViewModel.analytics.appointment.payment_fail( + appointment_type: 'regular', + payment_method: payment_method, + clinic: appo.clinicName, + hospital: appo.projectName, + txn_amount: "$amount", + txn_currency: currency, + error_type: res['Response_Message']); } }).catchError((err) { GifLoaderDialogUtils.hideDialog(context); diff --git a/lib/pages/MyAppointments/AppointmentDetails.dart b/lib/pages/MyAppointments/AppointmentDetails.dart index 885013b5..f235c8b1 100644 --- a/lib/pages/MyAppointments/AppointmentDetails.dart +++ b/lib/pages/MyAppointments/AppointmentDetails.dart @@ -614,8 +614,7 @@ class _AppointmentDetailsState extends State with SingleTick } else { AppToast.showErrorToast(message: res['ErrorEndUserMessage']); } - // projectViewModel.analytics.appointment.appointment_details_cancel(appointment: widget.appo); - projectViewModel.analytics.appointment.appointment_cancel(); + projectViewModel.analytics.appointment.appointment_details_cancel(appointment: widget.appo); }).catchError((err) { GifLoaderDialogUtils.hideDialog(context); print(err); diff --git a/lib/pages/medical/balance/confirm_payment_page.dart b/lib/pages/medical/balance/confirm_payment_page.dart index f361d166..5579b97f 100644 --- a/lib/pages/medical/balance/confirm_payment_page.dart +++ b/lib/pages/medical/balance/confirm_payment_page.dart @@ -397,25 +397,33 @@ class _ConfirmPaymentPageState extends State { onBrowserExit(AppoitmentAllHistoryResultList appo, bool isPaymentMade) { print("onBrowserExit Called!!!!"); - if (isPaymentMade) checkPaymentStatus(appo); + // if (isPaymentMade) + checkPaymentStatus(appo); } checkPaymentStatus(AppoitmentAllHistoryResultList appo) { + String txn_ref; + String amount; + String payment_method; + final currency = projectViewModel.user.outSA == 0 ? "sar" : 'aed'; GifLoaderDialogUtils.showMyDialog(AppGlobal.context); DoctorsListService service = new DoctorsListService(); service.checkPaymentStatus(transID, AppGlobal.context).then((res) { String paymentInfo = res['Response_Message']; if (paymentInfo == 'Success') { - String txn_ref = res['Merchant_Reference']; - String amount = res['Amount']; - String payment_method = res['PaymentMethod']; - final currency = projectViewModel.user.outSA == 0 ? "sar" : 'aed'; + txn_ref = res['Merchant_Reference']; + amount = res['Amount'].toString(); + payment_method = res['PaymentMethod']; createAdvancePayment(res, appo); projectViewModel.analytics.advancePayments.payment_success( payment_type: 'wallet', payment_method: payment_method, txn_amount: "$amount", txn_currency: currency, txn_number: txn_ref, hospital: widget.advanceModel.hospitalsModel.name); } else { GifLoaderDialogUtils.hideDialog(AppGlobal.context); AppToast.showErrorToast(message: res['Response_Message']); + amount = widget.advanceModel.amount; + payment_method = widget.selectedPaymentMethod; + projectViewModel.analytics.advancePayments.payment_fail( + payment_type: 'wallet', payment_method: payment_method, txn_amount: "$amount", txn_currency: currency, hospital: widget.advanceModel.hospitalsModel.name, error_type: res['Response_Message']); } }).catchError((err) { GifLoaderDialogUtils.hideDialog(AppGlobal.context);