Commit 1385c771 authored by Wahyudi's avatar Wahyudi 😎

Update README.md

parent 4205d358
# MDD - DEMO MOBILE LIBRARY # MDD - DEMO MOBILE LIBRARY
## 1. Inisiasi LIbrary ## 1. Inisiasi Library
Note : untuk menginisiasi library ke aplikasi Note : untuk menginisiasi library ke aplikasi
- idxDriver = engine device yang digunakan (2 untuk WEPOY) - idxDriver = engine device yang digunakan (2 untuk WEPOY)
- certDebugResponse = didapat dari API unlockAAR - certDebugResponse = didapat dari API unlockAAR
...@@ -22,7 +22,76 @@ Note : untuk mendeteksi kartu yang ditempel ...@@ -22,7 +22,76 @@ Note : untuk mendeteksi kartu yang ditempel
myReader.findCard(DEFAULT_TIMEOUT, uid, uidLen, cardType) myReader.findCard(DEFAULT_TIMEOUT, uid, uidLen, cardType)
``` ```
## 3. Fungsi readerDeduct ## 3. Fungsi samInit*
Note : untuk menginisiasi konfigurasi SAM (Secure Access Module) Bank
# Bank Mandiri
- samPin = tipe kartu yang didapat dari findCard
- mid = tanggal dilakukannya transaksi (yyyyMMddHHmmss)
- tid = respon tipe bank dari kartu prepaid yang digunakan
```
if (myReader.mandiriEnabled()) {
String samPin = Parameters.findValue("mandiri_sam_pin", "");
String mid = Parameters.findValue("mandiri_mid", "");
String tid = Parameters.findValue("mandiri_tid", "");
byte[] bpin = utilsLib.HexStringToByteArray(samPin);
byte[] bmid = utilsLib.HexStringToByteArray(mid);
byte[] btid = utilsLib.HexStringToByteArray(tid);
myReader.mandiriDeductSetConfig(bpin, bmid, btid);
myReader.readerMandiriSetSamSlot(OrganicDriver.ORGANIC_SAM1);
myReader.readerMandiriEnableFastDeduct();
}
```
# Bank BNI
- merriedCode = merriedcode sam BNI
- bniTid = tid sam BNI
```
if (myReader.bniEnabled()) {
myReader.bniSetConfig(merriedCode, bniTid);
myReader.readerBniSetSamSlot(OrganicDriver.ORGANIC_SAM1);//Default ORGANIC_SAM1
}
```
# Bank BRI
- brimid = mid sam BRI
- britid = tid sam BRI
- briprocode = procode sam BRI
- batch = batchnumber transaction
- reference = reference number transaction
```
if (myReader.briEnabled()) {
myReader.briSetConfig(brimid, britid, briprocode, (byte) batch, reference);
myReader.readerBriSetSamSlot(OrganicDriver.ORGANIC_SAM1);
}
```
# Bank BCA
- bcamid = mid sam BCA
- bcatid = tid sam BCA
- bcaMinBalance = minimum balance transaction
```
if (myReader.bcaEnabled()) {
myReader.readerBcaSetSamSlot(OrganicDriver.ORGANIC_SAM1);
String[] strlogRsp = new String[1];
myReader.bcaSetConfig(bcamid, bcatid, bcaMinBalance, strlogRsp);
Log.d(TAG, myReader.bcaGetConfig());
}
```
# Bank DKI
- dkimid = mid sam DKI
- dkitid = tid sam DKI
- reff = refference number transaksi
```
if (myReader.dkiEnabled()) {
myReader.readerDkiSetSamSlot(OrganicDriver.ORGANIC_SAM2);
myReader.dkiSetDevMode(true);
myReader.dkiSetConfig(dkimid, dkitid, (byte) reff);
}
```
## 4. Fungsi readerDeduct
Note : untuk memotong saldo kartu prepaid Note : untuk memotong saldo kartu prepaid
- cardType = tipe kartu yang didapat dari findCard - cardType = tipe kartu yang didapat dari findCard
- StrDate = tanggal dilakukannya transaksi (yyyyMMddHHmmss) - StrDate = tanggal dilakukannya transaksi (yyyyMMddHHmmss)
...@@ -37,7 +106,7 @@ Note : untuk memotong saldo kartu prepaid ...@@ -37,7 +106,7 @@ Note : untuk memotong saldo kartu prepaid
myReader.readerDeduct(cardType[0], StrDate, value, bankType, balance, cardNumber, report, errorCode, deductMode) myReader.readerDeduct(cardType[0], StrDate, value, bankType, balance, cardNumber, report, errorCode, deductMode)
``` ```
## 4. Fungsi readerBalance ## 5. Fungsi readerBalance
Note : untuk mendapatkan saldo kartu prepaid Note : untuk mendapatkan saldo kartu prepaid
- cardType = tipe kartu yang didapat dari findCard - cardType = tipe kartu yang didapat dari findCard
- StrDate = tanggal dilakukannya transaksi (yyyyMMddHHmmss) - StrDate = tanggal dilakukannya transaksi (yyyyMMddHHmmss)
...@@ -47,4 +116,78 @@ Note : untuk mendapatkan saldo kartu prepaid ...@@ -47,4 +116,78 @@ Note : untuk mendapatkan saldo kartu prepaid
- errorCode = code error deduct process - errorCode = code error deduct process
``` ```
myReader.readerGetBalance(cardType[0], StrDate, bankType, balance, cardNumber, errorCode) myReader.readerGetBalance(cardType[0], StrDate, bankType, balance, cardNumber, errorCode)
``` ```
\ No newline at end of file
## 6. Fungsi writeMime*
Note : untuk menulis APDU ke kartu.
- cardType = tipe kartu yang didapat dari findCard
- fileNo = readerLib.FILE_NO1
- offset = (byte) 0x00
- bankType = respon tipe bank kartu prepaid yang digunakan
- data = data yang akan ditulis ke kartu
- errorCode = code error deduct process
```
myReader.readerWriteMime(cardType[0], readerLib.FILE_NO1, (byte) 0x00, bankType, data, errorCode)
```
## 7. Fungsi readMime*
Note : Untuk membaca data kartu
- cardType = tipe kartu yang didapat dari findCard
- fileNo = readerLib.FILE_NO1 || readerLib.FILE_NO2
- offset = (byte) 0x00
- bankType = respon tipe bank kartu prepaid yang digunakan
- data = respon data dari kartu
- errorCode = code error deduct process
```
myReader.readerReadMime(cardType[0], readerLib.FILE_NO1, (byte) 0x00, bankType, data, errorCode)
```
## 8. Aktivasi Mifare
```
myReader.enableMifareClassicBaseCard(true);
```
## |Return Code|
Berikut pengertian dari Return Code yang mungkin terjadi :
| Return Code | Remarks |
| :--------: | :-------------------------- |
| 0x9000 | APDU_ERROR_NONE (SUCCESS) |
| 0x00BE | ERROR_BRI_INSUFFICIENT_FUND |
| 0x1001 | ERROR_SAM_NOT_INIT |
| 0x1002 | ERROR_INIT_PARAM |
| 0x1003 | ERROR_INSUFFICIENT_FUND |
| 0x1004 | ERROR_TIMEOUT |
| 0x1005 | ERROR_INVALID_PIN |
| 0x1006 | ERROR_WRONG_INSTITUTION |
| 0x1007 | ERROR_OVERLIMIT |
| 0x1008 | ERROR_INACTIVECARD |
| 0x100A | ERROR_GRACE_PERIOD |
| 0x100B | ERROR_INSUFFICIENT_FUND1 |
| 0x100C | ERROR_UNCOMPLETTE |
| 0x100E | ERROR_SAM_NOT_SUPPORT |
| 0x100D | ERROR_DEDUCT_TOO_FAST |
| 0x100F | ERROR_EXPIRED_CARD |
| 0x1022 | ERROR_WRONG_NOCOMPLETTE_CARD|
| 0x1027 | ERROR_CRC_ERROR |
| 0x1100 | ERROR_UNCOMPLETTE |
| 0x5000 | ERROR_MIFARE_LOADKEY |
| 0x5001 | ERROR_MIFARE_AUTH |
| 0x5002 | ERROR_CARD_TYPE |
| 0x5003 | ERROR_REQUEST_DATA |
| 0x5004 | ERROR_REQUEST_LOGOUT |
| 0x5005 | ERROR_MIFARE_READ |
| 0x5006 | ERROR_MIFARE_WRITE |
| 0x5103 | ERROR_BNI_PURSE_DISABLED |
| 0x5104 | ERROR_BNI_UNMERRIED_SAM |
| 0xD000 | ERROR_CLASS_NOT_INIT |
| 0xE000 | ERROR_ACTIVATION_VAILED |
| 0xE001 | ERROR_ACTIVATION_REQUIRED |
| 0xE002 | ERROR_SELECTED_BANK_DISABLED|
| 0xFFEC | ERROR_APDU_EXCHANGE |
| 0xFFED | ERROR_HW_NOACK |
| 0xFFEF | SW_ERROR_LOOP |
| 0xFFFE | HW_ERROR_UNKNOWN |
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment