This package provides the sdk that integrates with the KalePlus loyalty app. KalePlus app SDK allow POS provide to integrate the KalePlus App gift card and pay functionality. This works across multiple restaurant locations.

Features

Allow POS to integrate with the KalePlus pay and gift card functionality.

Getting started

Import the package and start using based on the usage code.

Usage

Lets take a look at how to use KalePlus sdk.

KaleplusApi.dart

  KaleplusApi().initialize(
    "chowbus",
    "chowbus-secret",
    "partnerLocationId",
    "exampleKey",
    Locale("en", null),
    KaleplusEnv.dev
  );

kaleplus-gf-page.dart

  await Navigator.push(
    context,
    MaterialPageRoute(
      builder: (context) => KaleplusGfPage(
        staffName: "kyuramen",
        desiredColor: Colors.red,
        onGiftcardPurcahseResult: (GiftcardPurchaseResult am) {
          if(am.status == GeneralStatus.success) {
            am.purchasedItems?.forEach((element1) {
              print("Detail ${element1.type.name} ${element1.tranId} ${element1.cardNo}  ${element1.purchaseAmt}  ${element1.cardAmt}");
            });
          } else {
              if(am.partnerTranId.isNotEmpty) {
                print("Refund the Chowbus credit card charges now ${am.partnerTranId}");

                showDialog(
                    context: context,
                    builder: (context) => AlertDialog(
                    content: Text("${KaleplusTranslations().text("failGift")}"),
                ));
              }
          }
          Navigator.pop(context);
  },
  onGiftcardCharge: (chargeAmt, lastFewCardNo) async {
      print("Charge the credit card here ${chargeAmt}  ${lastFewCardNo}");
      return ChargeAmtCallbackResult(GeneralStatus.success, "chowbusTranId");
  })));

kaleplus-pay-page.dart

  DebitResponse? debitResp = await Navigator.push(
    context,
    MaterialPageRoute(
    builder: (context) => KaleplusPayPage(
    debitRequest, desiredColor: Colors.red)
    ),
  );

  if(debitResp != null) {
    var msg = "";

    if(debitResp.status == DebitStatus.fullyPaid) {
      msg = "fully paid ${debitResp.tranId} ${debitResp.amtDebited} ${debitResp.tip} ${debitResp.remainingBalance} ${debitResp.last4}";
    } else if(debitResp.status == DebitStatus.partiallyPaid) {
      msg = "partial paid ${debitResp.tranId} ${debitResp.amtDebited} ${debitResp.tip} ${debitResp.remainingBalance}";
    } else {
      msg = "fail";
    }
    showDialog(
      context: context,
      builder: (BuildContext context) {
          return AlertDialog(
        title: Text("result show here"),
        content: Text("${msg}"),
        actions: [
        MaterialButton(
          child: Text("OK"),
            onPressed: () {
              Navigator.of(context).pop();
            },
        ),
        ],
      );
      },
    );
  }

Additional information

You can integrate with our loyalty app and find more information at https://kaleplus.com