This commit is contained in:
Hamza-Ayed
2024-06-18 17:51:41 +03:00
parent 03cd18dae0
commit aeb4164d5d
8 changed files with 71 additions and 25 deletions

View File

@@ -62,8 +62,9 @@ class PaymentController extends GetxController {
}
String paymentToken = '';
Future<String> generateToken(String amount) async {
var res = await CRUD().post(link: AppLink.addPaymentToken, payload: {
Future<String> generateTokenPassenger(String amount) async {
var res =
await CRUD().post(link: AppLink.addPaymentTokenPassenger, payload: {
'passengerId': box.read(BoxName.passengerID).toString(),
'amount': amount.toString(),
});
@@ -72,15 +73,42 @@ class PaymentController extends GetxController {
return d['message'];
}
Future<String> generateTokenDriver(String amount) async {
var res = await CRUD().post(link: AppLink.addPaymentTokenDriver, payload: {
'driverID': Get.find<MapPassengerController>().driverId,
'amount': amount.toString(),
});
var d = jsonDecode(res);
print('paymentToken ${d['message']}');
return d['message'];
}
addPassengerWallet() async {
isLoading = true;
update();
paymentToken = await generateToken(selectedAmount.toString());
// double sallaryAccountNowBeforeAdding =
// double.parse(box.read(BoxName.passengerWalletTotal).toString());
var seferToken = await generateTokenPassenger(selectedAmount.toString());
await CRUD().post(link: AppLink.addSeferWallet, payload: {
'amount': selectedAmount.toString(),
'paymentMethod': 'payout fee',
'passengerId': box.read(BoxName.passengerID).toString(),
'token': seferToken,
'driverId': 'passenger',
});
paymentToken = await generateTokenPassenger(selectedAmount.toString());
await CRUD().post(link: AppLink.addPassengersWallet, payload: {
'passenger_id': box.read(BoxName.passengerID).toString(),
'balance': selectedAmount.toString(),
'balance': selectedAmount == 100
? '100'
: selectedAmount == 200
? '215'
: selectedAmount == 400
? '450'
: selectedAmount == 1000
? '1140'
: '0',
'token': paymentToken,
}).then((value) {
getPassengerWallet();

View File

@@ -26,7 +26,7 @@ class RateController extends GetxController {
rideId = Get.arguments['rideId'];
driverId = Get.arguments['driverId'];
price = Get.arguments['price'];
box.write(BoxName.tipPercentage, 0.0);
super.onInit();
}
@@ -80,27 +80,37 @@ class RateController extends GetxController {
middleText: '',
confirm: MyElevatedButton(title: 'Ok', onPressed: () => Get.back()));
} else if (Get.find<PaymentController>().isWalletChecked == true) {
var tip = (Get.find<MapPassengerController>().totalPassenger) *
(double.parse(box.read(BoxName.tipPercentage.toString())));
double tip = 0;
tip = (Get.find<MapPassengerController>().totalPassenger) *
(double.parse(box.read(BoxName.tipPercentage).toString()));
var res = await CRUD().post(link: AppLink.addTips, payload: {
'passengerID': box.read(BoxName.passengerID),
'driverID': Get.find<MapPassengerController>().driverId.toString(),
'rideID': Get.find<MapPassengerController>().rideId.toString(),
'tipAmount': tip.toString(),
});
var token = await Get.find<PaymentController>()
.generateTokenPassenger(((-1) * tip).toString());
await CRUD().post(link: AppLink.addPassengersWallet, payload: {
'passenger_id': box.read(BoxName.passengerID).toString(),
'balance': ((-1) * tip).toString()
});
await CRUD().post(link: AppLink.addDriversWalletPoints, payload: {
'driverID': Get.find<MapPassengerController>().driverId.toString(),
'paymentID': '${Get.find<MapPassengerController>().rideId}tip',
'amount': box.read(BoxName.countryCode) == 'Egypt'
? tip.toStringAsFixed(0)
: (tip * 100).toString(),
'paymentMethod': 'visa-tip',
'balance': ((-1) * tip).toString(),
'token': token,
});
if (tip > 0) {
var token1 = await Get.find<PaymentController>().generateTokenDriver(
box.read(BoxName.countryCode) == 'Egypt'
? tip.toStringAsFixed(0)
: (tip * 100).toString());
await CRUD().post(link: AppLink.addDriversWalletPoints, payload: {
'driverID': Get.find<MapPassengerController>().driverId.toString(),
'paymentID': '${Get.find<MapPassengerController>().rideId}tip',
'amount': box.read(BoxName.countryCode) == 'Egypt'
? tip.toStringAsFixed(0)
: (tip * 100).toString(),
'paymentMethod': 'visa-tip',
'token': token1,
});
}
if (res != 'failure') {
FirebaseMessagesController().sendNotificationToAnyWithoutData(