fawaterk_payment 1.0.1
fawaterk_payment: ^1.0.1 copied to clipboard
SDK for integrating Fawaterk payment method.
example/lib/main.dart
import 'package:fawaterk_payment/data/fawaterk_cart.dart';
import 'package:fawaterk_payment/data/fawaterk_cart_item.dart';
import 'package:fawaterk_payment/data/fawaterk_customer.dart';
import 'package:fawaterk_payment/data/fawaterk_payment_intent_payload.dart';
import 'package:fawaterk_payment/data/fawaterk_redirect_urls.dart';
import 'package:fawaterk_payment/data/payment_method.dart';
import 'package:flutter/material.dart';
import 'package:fawaterk_payment/fawaterk_payment.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String platformVersion = 'Unknown';
final fawaterkPaymentPlugin = FawaterkPayment(
apiBaseUrl: 'https://staging.fawaterk.com',
apiKey: '',
);
List<PaymentMethod> methods = [];
String? paymentMethod;
@override
void initState() {
super.initState();
fawaterkPaymentPlugin.getMethods().then((value) {
setState(() {
methods = value;
});
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Fawaterk Payemnt SDK'),
),
body: Center(
child: methods.isEmpty
? const Placeholder()
: Column(children: [
DropdownButton(
value: paymentMethod,
onChanged: (value) {
setState(() {
paymentMethod = value;
});
},
items: methods.map<DropdownMenuItem<String>>((PaymentMethod value) {
return DropdownMenuItem<String>(
value: value.id.toString(),
child: Text(value.name!['en'] ?? ''),
);
}).toList(),
),
ElevatedButton(
onPressed: () {
FawaterkPaymentIntentPayload payload = FawaterkPaymentIntentPayload(
methodId: int.parse(paymentMethod!),
currency: "EGP",
cartTotal: 10,
customer: FawaterkCustomer(
firstName: 'Hassan',
lastName: 'Ahmed',
email: 'hsn@outlook.hu',
phoneNumber: '+201274260606',
address: 'test'
),
cart: FawaterkCart(
total: 10,
items: <FawaterkCartItem>[
FawaterkCartItem(
name: 'Test product',
price: 10,
quantity: 1,
)
]
),
redirectUrls: FawaterkRedirectUrls(
success: 'https://staging.fawaterk.com/success',
fail: 'https://staging.fawaterk.com/fail',
pending: 'https://staging.fawaterk.com/pending',
)
);
fawaterkPaymentPlugin.submitPayment(payload).then((value) {
print(value!.data);
});
},
child: const Text('Submit'),
)
],)
),
),
);
}
}