uni_pay 3.0.2 copy "uni_pay: ^3.0.2" to clipboard
uni_pay: ^3.0.2 copied to clipboard

A comprehensive library for seamless online payments, integrating Moyasar (Card & Apple pay), Tamara, and Tabby payment gateways.

Payment Gateway Library Crafted by the UNICODE Team for Seamless Transactions #

A comprehensive library for seamless online payments, integrating Moyasar (Card & Apple pay), Tamara, and Tabby payment gateways. Effortlessly handle transactions, enhance user experience, and streamline your payment processing with our robust and versatile solution.

Features support #

UniPay Arabic by Saif UniPay English by Saif

Getting started #

Please have a look at our /example project for a better understanding of implementations.

   UniPay(
      uniPayData: UniPayData(
        appName: "UniPay",
        locale: UniPayLocale.ar,
        customerInfo: UniPayCustomerInfo(
          fullName: "Mohammad Saif",
          email: "example@mail.com",
          phoneNumber: "+966555666777",
          address: UniPayAddress(
            addressName: "Olaya street, Al Ghadir",
            city: "Riyadh",
          ),
        ),
        environment: UniPayEnvironment.development,
        credentials: UniPayCredentials(
          applePayMerchantIdentifier: "merchant.com.mystore.sa",
          paymentMethods: [
            UniPayPaymentMethods.card,
            UniPayPaymentMethods.applepay,
            UniPayPaymentMethods.tamara,
            UniPayPaymentMethods.tabby,

          ],
          moyasarCredential:
              MoyasarCredential(publishableKey: "pk_key", secretKey: "sk_key"),
          tamaraCredential: TamaraCredential(
            token: "Tamara_Token",
            merchantUrl:
                MerchantUrl(notification: "https://my-app.com/webhook"),
          ),
          tabbyCredential: TabbyCredential(psKey: "tabby_api_key"),
        ),
        orderInfo: UniPayOrder(
          transactionAmount: TransactionAmount(totalAmount: 150.55),
          orderId: DateTime.now().millisecondsSinceEpoch.toString(),
          description: "Test Order Description",
          items: [
            UniPayItem(
                id: "Product_ID", name: "Product name", quantity: 1, price: 50)
          ],
        ),
        onPaymentSucess: (res) {
          debugPrint("Payment Success ----> ${res.toMap()}");
        },
        onPaymentFailed: (res) {
          debugPrint("Payment Failed ----> ${res.toMap()}");
        },
        metaData: {
          "customerId": "ABC_12345",
          "customerName": "Saif",
        }
      ),
    )

Tabby Features #

  • Get the transaction details:
  TabbyTransaction transaction =  await UniTabbyServices.getTabbyTransactionDetails(
                      tabbyDto: TabbyDto(
                      transactionId: "trxn_id",
                      credential: TabbyCredential(
                        psKey: "pk_test",
                        secretKey: "sk_test",
                        merchantCode: "your_merchant_code",
                      )));
  • Capture the order:
  TabbyTransaction transaction =  await UniTabbyServices.captureTabbyPayment(
                      tabbyDto: TabbyDto(
                      transactionId: "trxn_id",
                      credential: TabbyCredential(
                        psKey: "pk_test",
                        secretKey: "sk_test",
                        merchantCode: "your_merchant_code",
                      ),
                      amount: 950.55,
                    ));
  • Show the Product page Banner of Tabby:
              UniTabbyServices.showProductPageTabbySnippet(
                tabbySnippet: TabbySnippet(
                  totalAmountWithVat: 150.50,
                  locale: UniPayLocale.ar,
                ),
              )
  • Show the Checkout page Banner of Tabby:
              UniTabbyServices.showTabbyCheckoutSnippet(
                tabbySnippet: TabbySnippet(
                  totalAmountWithVat: 150.50,
                  locale: UniPayLocale.ar,
                ),
              )

Tamara Features #

  • Show the Product page Banner of Tamara:
               UniPayServices.tamaraProductPageSnippet(
                  const TamaraSnippet(
                    psKey: "ps_key",
                    transactionAmount: 150,
                    locale: UniPayLocale.en,
                  ),
                ),
  • Show the Checkout page Banner of Tamara:
                UniPayServices.tamaraCheckoutPageSnippet(
                  const TamaraSnippet(
                    psKey: "ps_key",
                    transactionAmount: 150,
                    locale: UniPayLocale.ar,
                  ),
                )

If you enjoyed it, then give it a star ⭐️ and like 👍🏻 and for more arts & crafts 🎨 from our team kindly visit here Team UNICODE. Until next time, keep coding and stay awesome 😉

5
likes
140
points
253
downloads

Publisher

verified publisherunicodesolutions.co

Weekly Downloads

A comprehensive library for seamless online payments, integrating Moyasar (Card & Apple pay), Tamara, and Tabby payment gateways.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, flutter_inappwebview, flutter_localizations, http, lottie, moyasar, tabby_flutter_inapp_sdk

More

Packages that depend on uni_pay