This commit is contained in:
Hamza-Ayed
2023-09-17 18:42:51 +03:00
parent 2be93e8267
commit 5f402a0b65
17 changed files with 359 additions and 146 deletions

View File

@@ -4,11 +4,13 @@ import 'package:get/get.dart';
import 'package:ride/constant/links.dart';
import 'package:ride/constant/style.dart';
import 'package:ride/controller/functions/crud.dart';
import 'package:ride/controller/functions/toast.dart';
import 'package:ride/controller/payment/payment_controller.dart';
import 'package:ride/views/widgets/my_scafold.dart';
import 'package:flutter_paypal/flutter_paypal.dart';
import '../../../constant/box_name.dart';
import '../../../constant/colors.dart';
import '../../../constant/info.dart';
import '../../../controller/functions/secure_storage.dart';
import '../../../controller/home/payment/credit_card_Controller.dart';
import '../../../main.dart';
@@ -57,10 +59,17 @@ class PassengerWallet extends StatelessWidget {
]),
child: Padding(
padding: const EdgeInsets.all(10),
child: Text(
'You Have ${box.read(BoxName.passengerWalletTotal).toString()} JD in SEFER Wallet',
style: AppStyle.title,
),
child:
box.read(BoxName.passengerWalletTotal) == null
? Text(
'You Dont Have Any amount in ${AppInfo.appName} Wallet!'
.tr,
style: AppStyle.title,
)
: Text(
'You Have ${box.read(BoxName.passengerWalletTotal).toString()} JD in ${AppInfo.appName} Wallet',
style: AppStyle.title,
),
),
),
],
@@ -306,94 +315,112 @@ class PassengerWallet extends StatelessWidget {
MyElevatedButton(
title: 'Pay with Your PayPal',
onPressed: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context) =>
UsePaypal(
sandboxMode: true,
clientId:
"AW1TdvpSGbIM5iP4HJNI5TyTmwpY9Gv9dYw8_8yW5lYIbCqf326vrkrp0ce9TAqjEGMHiV3OqJM_aRT0",
secretKey:
"EHHtTDjnmTZATYBPiGzZC_AZUfMpMAzj2VZUeqlFUrRJA_C0pQNCxDccB5qoRQSEdcOnnKQhycuOWdP9",
returnURL:
"https://samplesite.com/return",
cancelURL:
"https://samplesite.com/cancel",
transactions: [
{
"amount": {
//sb-opsju26682403@personal.example.com
"total":
'${controller.selectedAmount}',
"currency": "USD",
"details": {
"subtotal":
if (controller.selectedAmount != 0) {
print(controller.selectedAmount);
controller.changePromoSheetDialogue();
Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context) =>
UsePaypal(
sandboxMode: true,
clientId:
"AW1TdvpSGbIM5iP4HJNI5TyTmwpY9Gv9dYw8_8yW5lYIbCqf326vrkrp0ce9TAqjEGMHiV3OqJM_aRT0",
secretKey:
"EHHtTDjnmTZATYBPiGzZC_AZUfMpMAzj2VZUeqlFUrRJA_C0pQNCxDccB5qoRQSEdcOnnKQhycuOWdP9",
returnURL:
"https://samplesite.com/return",
cancelURL:
"https://samplesite.com/cancel",
transactions: [
{
"amount": {
//sb-opsju26682403@personal.example.com
"total":
'${controller.selectedAmount}',
"shipping": '0',
"shipping_discount": 0
}
},
"description":
"The payment transaction description.",
"payment_options": const {
"allowed_payment_method":
"INSTANT_FUNDING_SOURCE"
},
"item_list": {
"items": [
{
"name": "Sefer Wallet ",
"quantity": 1,
"price":
"currency": "USD",
"details": {
"subtotal":
'${controller.selectedAmount}',
"currency": "USD"
"shipping": '0',
"shipping_discount": 0
}
],
// shipping address is not required though
"shipping_address": const {
"recipient_name":
"SEFER Wallet",
"line1": "Shafa Badran",
"line2": "",
"city": "Amman",
"country_code": "JO",
"postal_code": "13112",
"phone": "+962798583052",
"state": "Amman"
},
"description":
"The payment transaction description.",
"payment_options": const {
"allowed_payment_method":
"INSTANT_FUNDING_SOURCE"
},
"item_list": {
"items": [
{
"name":
"${AppInfo.appName} Wallet ",
"quantity": 1,
"price":
'${controller.selectedAmount}',
"currency": "USD"
}
],
// shipping address is not required though
"shipping_address": const {
"recipient_name":
"${AppInfo.appName} Wallet",
"line1": "Shafa Badran",
"line2": "",
"city": "Amman",
"country_code": "JO",
"postal_code": "13112",
"phone": "+962798583052",
"state": "Amman"
},
}
}
}
],
note:
"Contact us for any questions on your order.",
onSuccess: (Map params) async {
print("onSuccess: $params");
await CRUD().post(
link: AppLink
.addPassengersWallet,
payload: {
'passenger_id': box
.read(
BoxName.pasengerID)
.toString(),
'balance': controller
.selectedAmount
.toString()
});
controller
.changePromoSheetDialogue();
await controller
.getPassengerWallet();
},
onError: (error) {
print("onError: $error");
},
onCancel: (params) {
print('cancelled: $params');
}),
),
);
],
note:
"Contact us for any questions on your order.",
onSuccess: (Map params) async {
print("onSuccess: $params");
await CRUD().post(
link: AppLink
.addPassengersWallet,
payload: {
'passenger_id': box
.read(BoxName
.pasengerID)
.toString(),
'balance': controller
.selectedAmount
.toString()
});
controller
.changePromoSheetDialogue();
await controller
.getPassengerWallet();
},
onError: (error) {
print("onError: $error");
Toast.show(
context,
' $error'.tr,
AppColor.redColor);
},
onCancel: (params) {
print('cancelled: $params');
Toast.show(
context,
'Pyament Cancelled .'.tr,
AppColor.yellowColor);
}),
),
);
} else {
Toast.show(
context,
'You will choose one of above !'.tr,
AppColor.redColor);
}
// controller.changePromoSheetDialogue();
// Get.to(() {
// UsePaypal(