QRPayment is an Java library for Android to generate QRcode in accordance to EMVco standard as well as KH QRcode standard.
Table of Contents
Step 1 Add the JitPack repository to your build file
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2 Add the dependency
dependencies {
implementation 'com.github.Senior-Code:QRPayment:0.0.2'
}
setPayment() this function is used to set payment to the code.
- parameters: acquirerID, mercahntID, categoryCode, currencyCode, transactionAmount, identityCode, customerNumber, merchantName, merchantCity
import com.emv.qrpayment.encoder.QRPayment;
// call QRPayment library
QRPayment qrpayment = new QRPayment;
// set value to your QRcode using setPayment()
qrpayment.setPayment(
acquirerID: acquirerID,
merchantID: merchantID,
categoryCode: categoryCode,
currencyCode: currencyCode,
transactionAmount: TotalAmount,
identityCode: billNumber,
customerNumber: customerNumber,
merchantName: merchantName,
merchantCity: MerchantCity);
qrayment.generateText(); // generate your setPayment as text in EMVco standard
qrpayment.generateImage(imageview: ImageView, emvcode: emvcode, width: width, height: height); //generate QR code image
generateText() generateText() is used to generate QR code as EMVco text format.
- this function is automatically generated from setPayment()
import com.emv.qrpayment.encoder.QRPayment;
QRPayment qrpayment = new QRPayment;
qrpayment.setPayment(
acquirerID: acquirerID,
merchantID: merchantID,
categoryCode: categoryCode,
currencyCode: currencyCode,
transactionAmount: TotalAmount,
identityCode: billNumber,
customerNumber: customerNumber,
merchantName: merchantName,
merchantCity: MerchantCity);
String emv = qr.payment.generateText() //output EMVco code as String
generateImage() is used to generate QR code as QR image.
-
You need to pass some parameters such as ImageView, EMVcode, Width, Height into the function.
-
EMVcode is the String text which is generated from generateText(). You can put the text in another String and call the String in EMVcode parameters.
import com.emv.qrpayment.encoder.QRPayment; QRPayment qrpayment = new QRPayment; String emvcode = qrpayment.generateText(); // set this function to your ImageView to display QR Code qrpayment.generateImage( imageview: ImageView, //assign your ImageView to here emvcode: emvcode, //String EMV code that generate from generateText() width: width, // set your QR image width and height height: height);
setFilePath() is used to give fee condition to your QR code and EMV code.
-
You need to download configfee.csv into your project resources directory and call InputStream method to pass the csv file into setFilePath().
- In your android project directory, you need to create a new Android Resources Directory and put its Resource type to raw.
- After you download the file, simply paste the file into res/raw/ in your project directory.
-
To pass the file to FilePath, simply create an InputStream to read the file from resource folder and pass the InputStream parameters to setFilePath()
import com.emv.qrpayment.encoder.QRPayment; QRPayment qrpayment = new QRPayment; InputStream inputStream = getresources.openRawResource(R.raw.configfee); //config fee is file name // For Kotlin use this val inputStream: InputStream = resources.openRawResource(R.raw.configfee) qrpayment.setFilePath(inputStream);