8/2/1
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
import 'dart:convert';
|
||||
import 'package:SEFER/constant/api_key.dart';
|
||||
import 'package:SEFER/constant/style.dart';
|
||||
import 'package:SEFER/controller/firebase/firbase_messge.dart';
|
||||
import 'package:SEFER/controller/functions/tts.dart';
|
||||
import 'package:SEFER/controller/payment/paymob/paymob_response.dart';
|
||||
import 'package:SEFER/views/home/map_page_passenger.dart';
|
||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:flutter/material.dart';
|
||||
@@ -101,6 +103,54 @@ class PaymentController extends GetxController {
|
||||
});
|
||||
}
|
||||
|
||||
payToDriverForCancelAfterAppliedAndHeNearYou(String rideId) async {
|
||||
{
|
||||
double costOfWaiting5Minute = box.read(BoxName.countryCode) == 'Egypt'
|
||||
? (4 * .08) + (5 * 1)
|
||||
// 4 indicate foe 4 km ditance from driver start move to passenger
|
||||
: (4 * .06) + (5 * .06); //for Eygpt other like jordan .06 per minute
|
||||
var paymentTokenWait =
|
||||
await generateTokenDriver(costOfWaiting5Minute.toString());
|
||||
var res = await CRUD().post(link: AppLink.addDrivePayment, payload: {
|
||||
'rideId': rideId,
|
||||
'amount': costOfWaiting5Minute.toString(),
|
||||
'payment_method': 'cancel-from-near',
|
||||
'passengerID': box.read(BoxName.passengerID).toString(),
|
||||
'token': paymentTokenWait,
|
||||
'driverID': Get.find<MapPassengerController>().driverId.toString(),
|
||||
});
|
||||
var paymentTokenWait1 =
|
||||
await generateTokenDriver(costOfWaiting5Minute.toString());
|
||||
var res1 =
|
||||
await CRUD().post(link: AppLink.addDriversWalletPoints, payload: {
|
||||
'paymentID': 'rideId$rideId',
|
||||
'amount': (costOfWaiting5Minute).toStringAsFixed(0),
|
||||
'paymentMethod': 'cancel-from-near',
|
||||
'token': paymentTokenWait1,
|
||||
'driverID': Get.find<MapPassengerController>().driverId.toString(),
|
||||
});
|
||||
|
||||
if (res != 'failure') {
|
||||
FirebaseMessagesController().sendNotificationToDriverMAP(
|
||||
'Cancel',
|
||||
'Trip Cancelled. The cost of the trip will be added to your wallet.'
|
||||
.tr,
|
||||
Get.find<MapPassengerController>().driverToken,
|
||||
[],
|
||||
'cancel.wav',
|
||||
);
|
||||
}
|
||||
var paymentTokenWaitPassenger1 =
|
||||
await generateTokenPassenger((costOfWaiting5Minute * -1).toString());
|
||||
await CRUD().post(link: AppLink.addPassengersWallet, payload: {
|
||||
'passenger_id': box.read(BoxName.passengerID).toString(),
|
||||
'balance': (costOfWaiting5Minute * -1).toString(),
|
||||
'token': paymentTokenWaitPassenger1,
|
||||
});
|
||||
Get.offAll(const MapPagePassenger());
|
||||
}
|
||||
}
|
||||
|
||||
addPassengerWallet() async {
|
||||
isLoading = true;
|
||||
update();
|
||||
|
||||
@@ -6,6 +6,7 @@ import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
import '../../constant/api_key.dart';
|
||||
import '../../main.dart';
|
||||
import '../../print.dart';
|
||||
|
||||
class PaymobManager extends GetxController {
|
||||
String authanticationToken1 = "";
|
||||
@@ -95,6 +96,7 @@ class PaymobManager extends GetxController {
|
||||
'username': AK.usernamePayMob,
|
||||
"password": AK.passwordPayMob,
|
||||
});
|
||||
Log.print('token: ${response}');
|
||||
return response.data["token"];
|
||||
}
|
||||
|
||||
@@ -111,6 +113,7 @@ class PaymobManager extends GetxController {
|
||||
"delivery_needed": "false",
|
||||
"items": [],
|
||||
});
|
||||
Log.print('id: ${response}');
|
||||
return response.data["id"];
|
||||
}
|
||||
|
||||
@@ -126,16 +129,15 @@ class PaymobManager extends GetxController {
|
||||
"auth_token": authanticationToken.toString(),
|
||||
"order_id": orderId.toString(),
|
||||
"integration_id":
|
||||
4556056, ////todo wallet or online card int.parse(AK.integrationIdPayMob),
|
||||
4601103, ////todo wallet or online card int.parse(AK.integrationIdPayMob),
|
||||
"lock_order_when_paid": "false",
|
||||
"amount_cents": amount,
|
||||
"currency": currency,
|
||||
"billing_data": {
|
||||
"first_name": box.read(BoxName.nameDriver) ?? box.read(BoxName.name),
|
||||
"last_name": box.read(BoxName.lastNameDriver) ?? box.read(BoxName.name),
|
||||
"email": box.read(BoxName.emailDriver) ?? box.read(BoxName.email),
|
||||
"phone_number":
|
||||
box.read(BoxName.phoneDriver) ?? box.read(BoxName.phone),
|
||||
"first_name": box.read(BoxName.name),
|
||||
"last_name": box.read(BoxName.name),
|
||||
"email": box.read(BoxName.email),
|
||||
"phone_number": box.read(BoxName.phone),
|
||||
"apartment": "NA",
|
||||
"floor": "NA",
|
||||
"street": "NA",
|
||||
@@ -147,7 +149,7 @@ class PaymobManager extends GetxController {
|
||||
"state": "NA"
|
||||
},
|
||||
});
|
||||
|
||||
Log.print('token: ${response}');
|
||||
return response.data["token"];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@ import 'package:dio/dio.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:webview_flutter/webview_flutter.dart';
|
||||
|
||||
import '../../../print.dart';
|
||||
|
||||
class PaymobResponseWallet {
|
||||
final bool success;
|
||||
final String? transactionID;
|
||||
@@ -142,9 +144,7 @@ class PaymobPaymentWallet {
|
||||
}) async {
|
||||
final Map<String, dynamic> data = {
|
||||
"source": {
|
||||
"identifier": box
|
||||
.read(BoxName.phone)
|
||||
.toString(), // Replace with actual source identifier
|
||||
"identifier": box.read(BoxName.phone).toString(),
|
||||
"subtype": "WALLET",
|
||||
},
|
||||
"payment_token": paymentToken,
|
||||
@@ -219,6 +219,7 @@ class PaymobPaymentWallet {
|
||||
),
|
||||
);
|
||||
final urlWallet = await _getWalletUrl(paymentToken: purchaseToken);
|
||||
Log.print('urlWallet: ${urlWallet}');
|
||||
|
||||
if (context.mounted) {
|
||||
final response = await PaymobIFrameWallet.show(
|
||||
|
||||
Reference in New Issue
Block a user