0.0.63 • Published 6 years ago
cashlez-wrapper-android-library v0.0.63
Cashlez Wrapper Android
This project serves as a android-cashlez-wrapper to create custom react native native modules that can later be installed through NPM and easily be used in production.
Support
- React Native >= 0.48.3
- Cashlez SDK 1.5.2.7
- Android SDK 25
How to Use
1. Install
Install the library via npm.
npm install --save git+https://git.ecommchannels.com/Anka.Wirawan/cashlez-wrapper-android-library.git
2. Link the library:
Add the following to android/settings.gradle:
include ':cashlez-wrapper-android-library'
project(':cashlez-wrapper-android-library').projectDir = new File(settingsDir, '../node_modules/cashlez-wrapper-android-library/android')
Add the following to android/app/build.gradle:
dependencies {
compile project(':cashlez-wrapper-android-library')
}
Add the following to android/app/src/main/java/**/MainApplication.java:
package com.your.package;
import com.btpn.lib.cashlezwrapper.CashlezPackage; // add this for cashlez-wrapper-android-library
public class MainApplication extends Application implements ReactApplication {
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new CashlezPackage() // add this for cashlez-wrapper-android-library
);
}
}
3. Import module
Simply import/require it by the name defined in your library's package.json:
import {
CashlezAuthentication,
CashlezPayment,
CashlezPrint
} from 'cashlez-wrapper-android-library';
4. Usage
Below is list of some function and how to integrate with your project.
Authentication Module
// constants
// used for register listener / callback from cashlez login response
CashlezPayment.AUTHENTICATION_LOGIN_ON_RESPONSE
CashlezpaymentAUTHENTICATION_LOGIN_ON_START_ACTIVATION
// initialize
const {
code,
message,
success
} = await CashlezAuthentication.initialize();
// submit login
CashlezAuthentication.login(username, pin);
// register listener
DeviceEventEmitter.addListener(
CashlezAuthentication.AUTHENTICATION_LOGIN_ON_START_ACTIVATION, (data) => {
console.log(data);
});
DeviceEventEmitter.addListener(
CashlezAuthentication.AUTHENTICATION_LOGIN_ON_RESPONSE, (data) => {
console.log(data);
});
Payment Module
// constants
// used for payment litener / callback from cashlez payment response
CashlezPayment.PAYMENT_PAY_ON_GET_READER_COMPANION
CashlezPayment.PAYMENT_PAY_ON_GET_PAYMENT_RESPONSE
CashlezPayment.PAYMENT_PAY_ON_PROVIDE_SIGNATURE
CashlezPayment.PAYMENT_PAY_ON_CAPTURE_SIGNATURE
// type of cashlez transaction
CashlezPayment.PAYMENT_TRANSACTION_TYPE_CASH
CashlezPayment.PAYMENT_TRANSACTION_TYPE_CREDIT
CashlezPayment.PAYMENT_TRANSACTION_TYPE_DEBIT
CashlezPayment.PAYMENT_TRANSACTION_TYPE_ECOMM
CashlezPayment.PAYMENT_TRANSACTION_TYPE_DIMOPAY
CashlezPayment.PAYMENT_TRANSACTION_TYPE_INSTALLMENT
CashlezPayment.PAYMENT_TRANSACTION_TYPE_RECURRING
CashlezPayment.PAYMENT_TRANSACTION_TYPE_CASHLEZ_LINK
CashlezPayment.PAYMENT_TRANSACTION_TYPE_PRE_AUTH
CashlezPayment.PAYMENT_TRANSACTION_TYPE_OFFLINE
// type of cashlez verification mode
CashlezPayment.PAYMENT_VERIFICATION_MODE_SIGNATURE
CashlezPayment.PAYMENT_VERIFICATION_MODE_PIN
// initialize
const {
code,
message,
success
} = await CashlezPayment.initialize();
// start payment
CashlezPayment.registerReader();
CashlezPayment.startLocationListener();
CashlezPayment.startPayment();
// stop payment
CashlezPayment.stopLocationListener();
CashlezPayment.unregisterReader();
CashlezPayment.stopPayment();
// register listener
DeviceEventEmitter.addListener(
CashlezPayment.PAYMENT_PAY_ON_GET_READER_COMPANION, (data) => {
console.log(data);
});
DeviceEventEmitter.addListener(
CashlezPayment.PAYMENT_PAY_ON_GET_PAYMENT_RESPONSE, (data) => {
console.log(data);
});
DeviceEventEmitter.addListener(
CashlezPayment.PAYMENT_PAY_ON_PROVIDE_SIGNATURE, (data) => {
console.log(data);
});
// submit payment
cashPayment() {
CashlezPayment.proceedPayment(amount, description, CashlezPayment.PAYMENT_TRANSACTION_TYPE_CASH, "", "");
}
debitPinPayment() {
CashlezPayment.proceedPayment(amount, description, CashlezPayment.PAYMENT_TRANSACTION_TYPE_DEBIT, CashlezPayment.PAYMENT_VERIFICATION_MODE_PIN, "");
}
debitSignaturePayment() {
CashlezPayment.proceedPayment(amount, description, CashlezPayment.PAYMENT_TRANSACTION_TYPE_DEBIT, CashlezPayment.PAYMENT_VERIFICATION_MODE_SIGNATURE, "");
}
creditPinPayment() {
CashlezPayment.proceedPayment(amount, description, CashlezPayment.PAYMENT_TRANSACTION_TYPE_CREDIT, CashlezPayment.PAYMENT_VERIFICATION_MODE_PIN, "");
}
creditSignaturePayment() {
CashlezPayment.proceedPayment(amount, description, CashlezPayment.PAYMENT_TRANSACTION_TYPE_CREDIT, CashlezPayment.PAYMENT_VERIFICATION_MODE_SIGNATURE, "");
}
// capture signature
CashlezPayment.captureSignature();
// submit signature
CashlezPayment.proceedSignature(stringSignature);
Print Module
// constants
// used for register listerner / call back from cashlez printing
CashlezPrint.PRINT_PRINTING_ON_GET_PRINTING_RESPONSE
// text format that supported by cashlez sdk
CashlezPrint.PRINT_FORMAT_NORMAL
CashlezPrint.PRINT_FORMAT_NORMAL_BIG
CashlezPrint.PRINT_FORMAT_BOLD
CashlezPrint.PRINT_FORMAT_TITLE
CashlezPrint.PRINT_FORMAT_BARCODE
CashlezPrint.PRINT_FORMAT_QR_CODE
CashlezPrint.PRINT_FORMAT_SMALL_LOGO
// text aligment that supported by cashlez sdk
CashlezPrint.PRINT_ALIGNMENT_LEFT
CashlezPrint.PRINT_ALIGNMENT_CENTER
CashlezPrint.PRINT_ALIGNMENT_RIGHT
// initialize
const {
code,
message,
success
} = await CashlezPrint.initialize();
// start print
CashlezPrint.registerPrinterListener();
CashlezPrint.registerPrinter();
// stop print
CashlezPrint.unregisterPrinter();
// register listener
DeviceEventEmitter.addListener(
CashlezPrint.PRINT_PRINTING_ON_GET_PRINTING_RESPONSE, (data) => {
console.log(data);
});
// submit print free text
var receipts = [
{ text: '=========================', align: CashlezPrint.PRINT_ALIGNMENT_LEFT, format: CashlezPrint.PRINT_FORMAT_NORMAL},
{ text: 'Javscript', align: CashlezPrint.PRINT_ALIGNMENT_LEFT, format: CashlezPrint.PRINT_FORMAT_NORMAL },
{ text: 'React Native', align: CashlezPrint.PRINT_ALIGNMENT_RIGHT, format: CashlezPrint.PRINT_FORMAT_BOLD },
{ text: 'Kotlin', align: CashlezPrint.PRINT_ALIGNMENT_CENTER, format: CashlezPrint.PRINT_FORMAT_TITLE },
{ text: '=========================', align: CashlezPrint.PRINT_ALIGNMENT_LEFT, format: CashlezPrint.PRINT_FORMAT_NORMAL}
];
CashlezPrint.printText(JSON.stringify(receipts));
Data Response
console.log(data);
{
"code": 200,
"message": "Message/data/signature",
"success": true
}
5. Example
https://git.ecommchannels.com/Anka.Wirawan/cashlez-wrapper-android-example
K E E P C A L M A N D S H A R E K N O W L E D G E
0.0.63
6 years ago