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 😉

Libraries

uni_pay
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.