Last updated:
0 purchases
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
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.