Commit de4cf645 authored by Sai Srinivas's avatar Sai Srinivas
Browse files

Razorpay Setup improve

parent 669ff5f9
......@@ -50,30 +50,58 @@ class _BillDetailListScreenState extends State<BillDetailListScreen> {
void _handlePaymentSuccess(PaymentSuccessResponse response) {
setState(() {
setState(() async {
final provider = Provider.of<PayAmountProvider>(context, listen: false);
await provider.getPaymentStatus(
sessionId: widget.sessionId,
empId: widget.accId,
razorpayOrderId: response.orderId.toString()
);
final data = provider.statusResponse;
Navigator.push(
context,
MaterialPageRoute(builder: (context) => PaymentSuccessFaillScreen(
total: "${data?.amount}",
date: "${data?.date}",
payMode: "UPI",
status: "Success",
)),
);
_razorpay.clear();
CustomSnackBar.showSuccess(
context: context,
message: "Payment Success!",
message: data?.message ?? "Payment Success!",
);
// buttonLoading = false;
});
}
void _handlePaymentError(PaymentFailureResponse response) {
setState(() {
CustomSnackBar.showError(
context: context,
message: "Payment failed!",
);
// buttonLoading = false;
Navigator.push(
context,
MaterialPageRoute(builder: (context) => PaymentSuccessFaillScreen(
total: "10218",
date: "8th Oct, 2025",
payMode: "UPI",
status: "Fail",
)),
);
});
_razorpay.clear();
CustomSnackBar.showError(
context: context,
message: "Payment failed, please try again.",
);
}
void _handleExternalWallet(ExternalWalletResponse response) {}
void _handleExternalWallet(ExternalWalletResponse response) {
_razorpay.clear();
}
Future<void> payAmountFunction(String amount, String id) async {
try {
......@@ -103,6 +131,7 @@ class _BillDetailListScreenState extends State<BillDetailListScreen> {
debugPrint("❌ No response received from PayAmount API");
}
} catch (e) {
_razorpay.clear();
CustomSnackBar.showError(
context: context,
message: 'Error occurred: $e',
......@@ -142,6 +171,7 @@ class _BillDetailListScreenState extends State<BillDetailListScreen> {
// toast(context, "Order Placed Successfully");
// print("Verify Payment");
});
_razorpay.clear();
}
......
......@@ -7,6 +7,7 @@ import '../../Notifier/PayAmountProvider.dart';
import '../../Utility/AppColors.dart';
import '../../Utility/CustomSnackbar.dart';
import '../../Utility/Reusablewidgets.dart';
import '../TransactionScreens/PaymentSuccessfailScreen.dart';
class BillDetailScreen extends StatefulWidget {
final String sessionId;
......@@ -71,31 +72,67 @@ class _BillDetailScreenState extends State<BillDetailScreen> {
});
}
void _handlePaymentSuccess(PaymentSuccessResponse response) {
setState(() {
setState(() async {
final provider = Provider.of<PayAmountProvider>(context, listen: false);
await provider.getPaymentStatus(
sessionId: widget.sessionId,
empId: widget.accId,
razorpayOrderId: response.orderId.toString()
);
final data = provider.statusResponse;
Navigator.push(
context,
MaterialPageRoute(builder: (context) => PaymentSuccessFaillScreen(
total: "${data?.amount}",
date: "${data?.date}",
payMode: "UPI",
status: "Success",
)),
);
_razorpay.clear();
CustomSnackBar.showSuccess(
context: context,
message: "Payment Success!",
message: data?.message ?? "Payment Success!",
);
// buttonLoading = false;
});
}
void _handlePaymentError(PaymentFailureResponse response) {
setState(() {
setState(() async {
final provider = Provider.of<PayAmountProvider>(context, listen: false);
await provider.getPaymentStatus(
sessionId: widget.sessionId,
empId: widget.accId,
razorpayOrderId: ""
);
final data = provider.statusResponse;
Navigator.push(
context,
MaterialPageRoute(builder: (context) => PaymentSuccessFaillScreen(
total: "${data?.amount}",
date: "${data?.date}",
payMode: "UPI",
status: "Fail",
)),
);
CustomSnackBar.showError(
context: context,
message: "Payment failed!",
message: "Payment failed, please try again.",
);
// buttonLoading = false;
});
_razorpay.clear();
CustomSnackBar.showError(
context: context,
message: "Payment failed, please try again.",
);
}
void _handleExternalWallet(ExternalWalletResponse response) {}
void _handleExternalWallet(ExternalWalletResponse response) {
_razorpay.clear();
}
Future<void> payAmountFunction(String amount, String id) async {
try {
......@@ -129,6 +166,7 @@ class _BillDetailScreenState extends State<BillDetailScreen> {
context: context,
message: 'Error occurred: $e',
);
_razorpay.clear();
}
}
......@@ -152,8 +190,7 @@ class _BillDetailScreenState extends State<BillDetailScreen> {
try {
_razorpay.open(options);
} catch (e, s) {
// FirebaseCrashlytics.instance.log('Error occurred: $e');
// FirebaseCrashlytics.instance.recordError(e, s);
_razorpay.clear();
debugPrint(e.toString());
}
}
......@@ -164,6 +201,7 @@ class _BillDetailScreenState extends State<BillDetailScreen> {
// toast(context, "Order Placed Successfully");
// print("Verify Payment");
});
_razorpay.clear();
}
......
......@@ -66,6 +66,7 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb
status: "Success",
)),
);
_razorpay.clear();
CustomSnackBar.showSuccess(
context: context,
message: data?.message ?? "Payment Success!",
......@@ -97,13 +98,16 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb
message: "Payment failed, please try again.",
);
});
_razorpay.clear();
CustomSnackBar.showError(
context: context,
message: "Payment failed, please try again.",
);
}
void _handleExternalWallet(ExternalWalletResponse response) {}
void _handleExternalWallet(ExternalWalletResponse response) {
_razorpay.clear();
}
Future<void> payAmountFunction(String amount) async {
try {
......@@ -170,6 +174,7 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb
// toast(context, "Order Placed Successfully");
// print("Verify Payment");
});
_razorpay.clear();
}
// void onError(CFErrorResponse errorResponse, String orderId) {
......
......@@ -48,6 +48,7 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
void _handlePaymentSuccess(PaymentSuccessResponse response) {
setState(() async {
final provider = Provider.of<PayAmountProvider>(context, listen: false);
......@@ -66,6 +67,7 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
status: "Success",
)),
);
_razorpay.clear();
CustomSnackBar.showSuccess(
context: context,
message: data?.message ?? "Payment Success!",
......@@ -97,13 +99,15 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
message: "Payment failed, please try again.",
);
});
_razorpay.clear();
CustomSnackBar.showError(
context: context,
message: "Payment failed, please try again.",
);
}
void _handleExternalWallet(ExternalWalletResponse response) {}
void _handleExternalWallet(ExternalWalletResponse response) {
_razorpay.clear();
}
Future<void> payAmountFunction(String amount) async {
try {
......@@ -134,6 +138,7 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
debugPrint("❌ No response received from PayAmount API");
}
} catch (e) {
_razorpay.clear();
debugPrint("❌ 'Error occurred: $e'");
}
}
......@@ -161,6 +166,14 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
debugPrint(e.toString());
}
}
void verifyPayment(String orderId) {
isSuccess = true;
setState(() {
// toast(context, "Order Placed Successfully");
// print("Verify Payment");
});
_razorpay.clear();
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment