fawaterk_payment 1.0.1 copy "fawaterk_payment: ^1.0.1" to clipboard
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'),
              )
            ],)
        ),
      ),
    );
  }
}
1
likes
140
points
40
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

SDK for integrating Fawaterk payment method.

Homepage

License

MIT (license)

Dependencies

dio, flutter

More

Packages that depend on fawaterk_payment