ezetap_sdk

Last updated:

0 purchases

ezetap_sdk Image
ezetap_sdk Images
Add to Cart

Description:

ezetap sdk

ezetap_sdk #


Welcome to Ezetap Payments Flutter SDK integration! You can easily collect payments from your
existing android applications by integrating the SDK.
How integration works #

Include the SDK in your mobile application to collect payments.
SDK interfaces with a Service App, this App will be installed during run-time.
Service App interfaces with the Card Device and Ezetap Servers to finish payment processing and
notifies the status to SDK.

Prerequisites #
Supported on Android API version 21 or above.
Use this package as a library #
This will add a line like this to your package's pubspec.yaml (and run an
implicit flutter pub get)
dependencies:
ezetap_sdk: ^0.2.6
copied to clipboard
Import it #
Now in your Dart code, you can use:
import 'package:ezetap_sdk/ezetap_sdk.dart';
Methods Available #
var json = {
"prodAppKey": "Your prod app key",
"demoAppKey": "Your demo app key",
"merchantName": "merchantName",
"userName": "userName",
"currencyCode": 'INR',
"appMode": "Your environment",
"captureSignature": 'true',
"prepareDevice": 'false',
"captureReceipt": 'false'
};

EzetapSdk.initialize(json);
copied to clipboard
EzetapSdk.prepareDevice();
copied to clipboard
var sendReceiptJson = {
"customerName": "customerName",
"mobileNo": "mobileNo",
"email": "emailId",
"txnId": "transactionID"
};

EzetapSdk.sendReceipt(sendReceiptJson);
copied to clipboard
var json = {
"issueType": "issueType",
"issueInfo": "issueInfo",
"tags": [
"tag1","tag2"
]
};

EzetapSdk.serviceRequest(json);
copied to clipboard
var json = {
"agentName": "username",
"saveLocally": false
};

EzetapSdk.searchTransaction(json);
copied to clipboard
var json = {
"amount": "100",
"options": {
"amountTip": 0.0,
"references": {
"reference1": "sffr",
"additionalReferences": [

]
},
"customer": {

},
"serviceFee": -1.0,
"addlData": {
"addl1": "addl1",
"addl2": "addl2",
"addl3": "addl3"
},
"appData": {
"app1": "app1",
"app2": "app2",
"app3": "app3"
}
}
};

EzetapSdk.getTransaction(json);
copied to clipboard
var json = {};
EzetapSdk.checkForIncompleteTransaction(json);
copied to clipboard
//Pass the transactionId to this function
EzetapSdk.voidTransaction(String transactionID);
copied to clipboard
var json = {"txnId": "transactionID"};
EzetapSdk.attachSignature(json);
copied to clipboard
var json = {
"amount": "123",
"options": {
"serviceFee": 100,
“payToAccount”: “LABEL”,
"paymentBy": "CREDIT OR DEBIT OR ANY (**To be used only if the service fee is being added.)",
"paymentMode": "Card/Cash/Cheque/UPI/UPI_VOUCHER/RemotePay/BHARATQR/Brand_Offers/Brand_EMI/Normal_EMI/Wallet ",
"providerName": "<NBFC> eg. ZestMoney. (**providerName and emiType are to be passed only if user wants to use ZestMoney. In this scenario, set \"paymentMode”:”EMI”)",
"emiType": "NORMAL, BRAND, EMI",
"references": {
"reference1": "1234",
"additionalReferences": [
"addRef_xx1",
"addRef_xx2"
]
},
"appData": {
"walletAcquirer": "freecharge/ola_money/ etc.(**walletAcquirer are to be passed only if user sets \"paymentMode”:”Wallet”)"
},
"customer": {
"name": "xyz",
"mobileNo": "1234567890",
"email": "[email protected]"
}
}
};
EzetapSdk.pay(json);
copied to clipboard
//Pass the transactionId to this function
EzetapSdk.printReceipt(String transactionID);
copied to clipboard
//Pass the image as base64 string to this function
EzetapSdk.printBitmap(String? base64Image);
copied to clipboard
EzetapSdk.logout();
copied to clipboard
var json = {"txnIds":[""]};
EzetapSdk.stopPayment(json);
copied to clipboard
EzetapSdk.scanBarcode();
copied to clipboard
var json = {
"amount": "100",
"txnId": "transactionID"
};
EzetapSdk.refundTransaction(json);
copied to clipboard
EzetapSdk.checkForUpdates();
copied to clipboard
EzetapSdk.checkPrinterStatus();
copied to clipboard
EzetapSdk.printTextReceipt(txtReceipt);
copied to clipboard
EzetapSdk.showReceiptView(jsonEncode(receipt));
copied to clipboard
EzetapSdk.getDeviceInfo();
copied to clipboard
Future<void> onPaymentClicked(json) async {
String? result = await EzetapSdk.pay(json);
if (!mounted) return;
setState(() {
_result = result;
});
}
copied to clipboard
Future<void> onBarcodePressed() async {
String? result = await EzetapSdk.scanBarcode();
if (!mounted) return;
setState(() {
_result = result;
});
}
copied to clipboard
Future<void> checkPrinterStatus() async {
String? result = await EzetapSdk.checkPrinterStatus();
if (!mounted) return;
setState(() {
_result = result;
});
}
copied to clipboard
Future<void> printTextReceipt() async {
var txtReceipt = "-----------------------------------\n" +
" Receipt\n" +
"-----------------------------------\n" +
"\n" +
"Date: January 9, 2024\n" +
"Time: 12:30 PM\n" +
"\n" +
"-----------------------------------\n" +
"\n" +
"Items Purchased:\n" +
"1. Item Name 10.00\n" +
"2. Another Item 15.50\n" +
"3. Yet Another Item 8.75\n" +
"\n" +
"-----------------------------------\n" +
"\n" +
"Subtotal: 34.25\n" +
"Tax (8%): 2.74\n" +
"Total Amount: 36.99\n" +
"\n" +
"-----------------------------------\n" +
"\n" +
"Payment Method: Credit Card\n" +
"\n" +
"Card Number: **** **** **** 1234\n" +
"Expiry Date: 12/25\n" +
"Authorization Code: 56789\n" +
"\n" +
"-----------------------------------\n" +
"\n" +
"Thank you for your purchase!\n" +
"Please come again.\n" +
"\n" +
"-----------------------------------";

String? result = await EzetapSdk.printTextReceipt(txtReceipt);
if (!mounted) return;
setState(() {
_result = result;
});
}
copied to clipboard
Future<void> showCustomReceiptView() async {
final ByteData data = await rootBundle.load('assets/logo.png');
final Uint8List bytes = data.buffer.asUint8List();
ui.decodeImageFromList(bytes, (ui.Image img) async {
ByteData? byteData = await img.toByteData(format: ui.ImageByteFormat.png);
var receipt = [
base64.encode(byteData?.buffer.asUint8List() as List<int>),
"<div class=\"item\" style=\"text-align: center;\"><span style=\"font-size: 34;\"><big>Heading</big></span></div>",
"<div class=\"item\"><span>Date:</span> <span>2024-02-12</span></div>",
"<div class=\"item\"><span>Time:</span> <span>15:30</span></div>",
"<div class=\"item\"><span>Receipt No:</span> <span>123456</span></div>",
"<div class=\"item\"><span>Items:</span><ul><li>Item 1 - \$10</li><li>Item 2 - \$20</li><li>Item 3 - \$15</li></ul></div>",
"<div class=\"item\"><span>Total:</span> <span>\$45</span></div>",
"<div class=\"item\"><span>Date:</span> <span>2024-02-12</span></div>",
"<div class=\"item\"><span>Time:</span> <span>15:30</span></div>",
"<div class=\"item\"><span>Receipt No:</span> <span>123456</span></div>",
"<div class=\"item\"><span>Items:</span><ul><li>Item 1 - \$10</li><li>Item 2 - \$20</li><li>Item 3 - \$15</li></ul></div>",
"<div class=\"item\"><span>Total:</span> <span>\$45</span></div>",
"<div class=\"item\"><span>Date:</span> <span>2024-02-12</span></div>",
"<div class=\"item\"><span>Time:</span> <span>15:30</span></div>",
"<div class=\"item\"><span>Receipt No:</span> <span>123456</span></div>",
"<div class=\"item\"><span>Items:</span><ul><li>Item 1 - \$10</li><li>Item 2 - \$20</li><li>Item 3 - \$15</li></ul></div>",
"<div class=\"item\"><span>Total:</span> <span>\$45</span></div>",
"<div class=\"item\"><span>Date:</span> <span>2024-02-12</span></div>",
"<div class=\"item\"><span>Time:</span> <span>15:30</span></div>",
"<div class=\"item\"><span>Receipt No:</span> <span>123456</span></div>",
"<div class=\"item\"><span>Items:</span><ul><li>Item 1 - \$10</li><li>Item 2 - \$20</li><li>Item 3 - \$15</li></ul></div>",
"<div class=\"item\"><span>Total:</span> <span>\$45</span></div>",
base64.encode(byteData?.buffer.asUint8List() as List<int>)
];
try {
String? result = await EzetapSdk.showReceiptView(jsonEncode(receipt));
if (!mounted) return;
setState(() {
_result = result;
});
} on PlatformException catch (e) {
if (!mounted) return;
setState(() {
_result = e.message.toString();
});
}
});
}
copied to clipboard
What you need #

Flutter development environment
Android phone that can connect to internet
This documentation
Ezetap app key or login credentials to Ezetap service
Ezetap device to test card payments

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.