diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java b/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java index da353a5..3b10e31 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java @@ -74,7 +74,7 @@ import java.util.Locale; import com.utsmyanmar.paylibs.utils.LogUtil; -public abstract class EmvBaseViewModel extends BaseViewModel { +public abstract class EmvBaseViewModel extends BaseViewModel { private static final String TAG = EmvBaseViewModel.class.getSimpleName(); @@ -1210,7 +1210,7 @@ public abstract class EmvBaseViewModel extends BaseViewModel { emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x1B}, new byte[]{(byte) 0x30}); //EMV MODE :amount >contactless cvm limit, set 60 = online pin and signature , set 20 = signature - emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x18}, new byte[]{(byte) 0x28}); + emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x18}, new byte[]{(byte) 0xF8}); //EMV mode :amount < contactless cvm limit, set 08 = no cvm emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x19}, new byte[]{(byte) 0x08}); //08 diff --git a/baselib/src/main/res/raw/paypass_config.json b/baselib/src/main/res/raw/paypass_config.json index e5c1ed1..09ef9aa 100644 --- a/baselib/src/main/res/raw/paypass_config.json +++ b/baselib/src/main/res/raw/paypass_config.json @@ -1,9 +1,9 @@ [ { "aidEnable": true, - "aid": "A0000000041010", + "aid": "A00000000410", "cardLabel": "MASTERCARD", - "applicationVersion": "0020", + "applicationVersion": "0002", "emvDDOL": "9F3704", "emvTDOL": "9F3704", "partialAidSelection": false, @@ -17,7 +17,32 @@ "cvmLimit": 75000, "transLimit": "999999999999", "transLimitCDV": "999999999999", - "terminalCapability": "E0F8F8", + "terminalCapability": "E0F8C8", + "riskManageData": "6C7A800000000000", + "kernelType": "02", + "ttq": "36804000", + "cateCode": "2701", + "currencyCode": "0104" + }, + { + "aidEnable": true, + "aid": "A0000000041010", + "cardLabel": "MASTERCARD", + "applicationVersion": "0002", + "emvDDOL": "9F3704", + "emvTDOL": "9F3704", + "partialAidSelection": false, + "targetPercent": "00", + "maxTargetPercent": "00", + "threshold": "00000040", + "tacDefault": "D84000A800", + "tacOnline": "DC4004F800", + "tacDenial": "0000000000", + "floorLimit": "000000000000", + "cvmLimit": 75000, + "transLimit": "999999999999", + "transLimitCDV": "999999999999", + "terminalCapability": "E0F8C8", "riskManageData": "6C7A800000000000", "kernelType": "02", "ttq": "36804000", @@ -29,7 +54,7 @@ "aidEnable": true, "aid": "A0000000041010C123456789", "cardLabel": "MASTERCARD", - "applicationVersion": "0020", + "applicationVersion": "0002", "emvDDOL": "9F3704", "emvTDOL": "9F3704", "partialAidSelection": false, @@ -52,9 +77,9 @@ }, { "aidEnable": true, - "aid": "A0000000043060", + "aid": "A00000000430", "cardLabel": "MASTERCARD", - "applicationVersion": "0020", + "applicationVersion": "0002", "emvDDOL": "9F3704", "emvTDOL": "9F3704", "partialAidSelection": false, @@ -68,7 +93,7 @@ "cvmLimit": 75000, "transLimit": "999999999999", "transLimitCDV": "999999999999", - "terminalCapability": "E0F8F8", + "terminalCapability": "E0F8C8", "riskManageData": "6C7A800000000000", "kernelType": "02", "ttq": "36804000", diff --git a/baselib/src/main/res/raw/rid_config.json b/baselib/src/main/res/raw/rid_config.json index 6ba056b..1782291 100644 --- a/baselib/src/main/res/raw/rid_config.json +++ b/baselib/src/main/res/raw/rid_config.json @@ -140,25 +140,165 @@ "expDate": "3230333031323331", "checkSum": "43A3151513B7ADCEB92DBEA2A262CEB336D26C83" }, + { + "rid": "A000000004", + "indx": "00", + "hashInd": "01", + "arithInd": "01", + "modul": "9c6be5adb10b4be3dce2099b4b210672b89656eba091204f613ecc623bedc9c6d77b660e8baeea7f7ce30f1b153879a4e36459343d1fe47acdbd41fcd710030c2ba1d9461597982c6e1bdd08554b726f5eff7913ce59e79e357295c321e26d0b8be270a9442345c753e2aa2acfc9d30850602fe6cac00c6ddf6b8d9d9b4879b2826b042a07f0e5ae526a3d3c4d22c72b9eaa52eed8893866f866387ac05a1399", + "exponent": "03", + "expDate": "20201231", + "checkSum": "ec0a59d35d19f031e9e8cbec56db80e22b1de130" + }, + { + "rid": "A000000004", + "indx": "01", + "hashInd": "01", + "arithInd": "01", + "modul": "a99a6d3e071889ed9e3a0c391c69b0b804fc160b2b4bdd570c92dd5a0f45f53e8621f7c96c40224266735e1ee1b3c06238ae35046320fd8e81f8ceb3f8b4c97b940930a3ac5e790086dad41a6a4f5117ba1ce2438a51ac053eb002aed866d2c458fd73359021a12029a0c043045c11664fe0219ec63c10bf2155bb2784609a106421d45163799738c1c30909bb6c6fe52bbb76397b9740ce064a613ff8411185f08842a423ead20edffbff1cd6c3fe0c9821479199c26d8572cc8afff087a9c3", + "exponent": "03", + "expDate": "20201231", + "checkSum": "33408b96c814742ad73536c72f0926e4471e8e47" + }, + { + "rid": "A000000004", + "indx": "03", + "hashInd": "01", + "arithInd": "01", + "modul": "c2490747fe17eb0584c88d47b1602704150adc88c5b998bd59ce043edebf0ffee3093ac7956ad3b6ad4554c6de19a178d6da295be15d5220645e3c8131666fa4be5b84fe131ea44b039307638b9e74a8c42564f892a64df1cb15712b736e3374f1bbb6819371602d8970e97b900793c7c2a89a4a1649a59be680574dd0b60145", + "exponent": "03", + "expDate": "20201231", + "checkSum": "5addf21d09278661141179cbeff272ea384b13bb" + }, + { + "rid": "A000000004", + "indx": "04", + "hashInd": "01", + "arithInd": "01", + "modul": "a6da428387a502d7ddfb7a74d3f412be762627197b25435b7a81716a700157ddd06f7cc99d6ca28c2470527e2c03616b9c59217357c2674f583b3ba5c7dcf2838692d023e3562420b4615c439ca97c44dc9a249cfce7b3bfb22f68228c3af13329aa4a613cf8dd853502373d62e49ab256d2bc17120e54aedced6d96a4287acc5c04677d4a5a320db8bee2f775e5fec5", + "exponent": "03", + "expDate": "20201231", + "checkSum": "381a035da58b482ee2af75f4c3f2ca469ba4aa6c" + }, + { + "rid": "A000000004", + "indx": "05", + "hashInd": "01", + "arithInd": "01", + "modul": "b8048abc30c90d976336543e3fd7091c8fe4800df820ed55e7e94813ed00555b573feca3d84af6131a651d66cff4284fb13b635edd0ee40176d8bf04b7fd1c7bacf9ac7327dfaa8aa72d10db3b8e70b2ddd811cb4196525ea386acc33c0d9d4575916469c4e4f53e8e1c912cc618cb22dde7c3568e90022e6bba770202e4522a2dd623d180e215bd1d1507fe3dc90ca310d27b3efccd8f83de3052cad1e48938c68d095aac91b5f37e28bb49ec7ed597", + "exponent": "03", + "expDate": "20201231", + "checkSum": "ebfa0d5d06d8ce702da3eae890701d45e274c845" + }, + { + "rid": "A000000004", + "indx": "06", + "hashInd": "01", + "arithInd": "01", + "modul": "cb26fc830b43785b2bce37c81ed334622f9622f4c89aae641046b2353433883f307fb7c974162da72f7a4ec75d9d657336865b8d3023d3d645667625c9a07a6b7a137cf0c64198ae38fc238006fb2603f41f4f3bb9da1347270f2f5d8c606e420958c5f7d50a71de30142f70de468889b5e3a08695b938a50fc980393a9cbce44ad2d64f630bb33ad3f5f5fd495d31f37818c1d94071342e07f1bec2194f6035ba5ded3936500eb82dfda6e8afb655b1ef3d0d7ebf86b66dd9f29f6b1d324fe8b26ce38ab2013dd13f611e7a594d675c4432350ea244cc34f3873cba06592987a1d7e852adc22ef5a2ee28132031e48f74037e3b34ab747f", + "exponent": "03", + "expDate": "20201231", + "checkSum": "f910a1504d5ffb793d94f3b500765e1abcad72d9" + }, { "rid": "A000000004", "indx": "F1", "hashInd": "01", "arithInd": "01", - "modul": "A0DCF4BDE19C3546B4B6F0414D174DDE294AABBB828C5A834D73AAE27C99B0B053A90278007239B6459FF0BBCD7B4B9C6C50AC02CE91368DA1BD21AAEADBC65347337D89B68F5C99A09D05BE02DD1F8C5BA20E2F13FB2A27C41D3F85CAD5CF6668E75851EC66EDBF98851FD4E42C44C1D59F5984703B27D5B9F21B8FA0D93279FBBF69E090642909C9EA27F898959541AA6757F5F624104F6E1D3A9532F2A6E51515AEAD1B43B3D7835088A2FAFA7BE7", + "modul": "a0dcf4bde19c3546b4b6f0414d174dde294aabbb828c5a834d73aae27c99b0b053a90278007239b6459ff0bbcd7b4b9c6c50ac02ce91368da1bd21aaeadbc65347337d89b68f5c99a09d05be02dd1f8c5ba20e2f13fb2a27c41d3f85cad5cf6668e75851ec66edbf98851fd4e42c44c1d59f5984703b27d5b9f21b8fa0d93279fbbf69e090642909c9ea27f898959541aa6757f5f624104f6e1d3a9532f2a6e51515aead1b43b3d7835088a2fafa7be7", "exponent": "03", "expDate": "20201231", - "checkSum": "D8E68DA167AB5A85D8C3D55ECB9B0517A1A5B4BB" + "checkSum": "d8e68da167ab5a85d8c3d55ecb9b0517a1a5b4bb" + }, + { + "rid": "A000000004", + "indx": "F3", + "hashInd": "01", + "arithInd": "01", + "modul": "98f0c770f23864c2e766df02d1e833dff4ffe92d696e1642f0a88c5694c6479d16db1537bfe29e4fdc6e6e8afd1b0eb7ea0124723c333179bf19e93f10658b2f776e829e87daeda9c94a8b3382199a350c077977c97aff08fd11310ac950a72c3ca5002ef513fccc286e646e3c5387535d509514b3b326e1234f9cb48c36ddd44b416d23654034a66f403ba511c5efa3", + "exponent": "03", + "expDate": "20201231", + "checkSum": "a69ac7603daf566e972dedc2cb433e07e8b01a9a" + }, + { + "rid": "A000000004", + "indx": "F5", + "hashInd": "01", + "arithInd": "01", + "modul": "a6e6fb72179506f860ccca8c27f99cecd94c7d4f3191d303bbee37481c7aa15f233ba755e9e4376345a9a67e7994bdc1c680bb3522d8c93eb0ccc91ad31ad450da30d337662d19ac03e2b4ef5f6ec18282d491e19767d7b24542dfdeff6f62185503532069bbb369e3bb9fb19ac6f1c30b97d249eee764e0bac97f25c873d973953e5153a42064bbfabfd06a4bb486860bf6637406c9fc36813a4a75f75c31cca9f69f8de59adecef6bde7e07800fcbe035d3176af8473e23e9aa3dfee221196d1148302677c720cfe2544a03db553e7f1b8427ba1cc72b0f29b12dfef4c081d076d353e71880aadff386352af0ab7b28ed49e1e672d11f9", + "exponent": "010001", + "expDate": "20201231", + "checkSum": "c2239804c8098170be52d6d5d4159e81ce8466bf" + }, + { + "rid": "A000000004", + "indx": "F6", + "hashInd": "01", + "arithInd": "01", + "modul": "a25a6bd783a5ef6b8fb6f83055c260f5f99ea16678f3b9053e0f6498e82c3f5d1e8c38f13588017e2b12b3d8ff6f50167f46442910729e9e4d1b3739e5067c0ac7a1f4487e35f675bc16e233315165cb142bfdb25e301a632a54a3371ebab6572deebaf370f337f057ee73b4ae46d1a8bc4da853ec3cc12c8cbc2da18322d68530c70b22bdac351dd36068ae321e11abf264f4d3569bb71214545005558de26083c735db776368172fe8c2f5c85e8b5b890cc682911d2de71fa626b8817fccc08922b703869f3baeac1459d77cd85376bc36182f4238314d6c4212fbdd7f23d3", + "exponent": "03", + "expDate": "20201231", + "checkSum": "502909ed545e3c8dbd00ea582d0617fee9f6f684" + }, + { + "rid": "A000000004", + "indx": "F7", + "hashInd": "01", + "arithInd": "01", + "modul": "94ea62f6d58320e354c022addcf0559d8cf206cd92e869564905ce21d720f971b7aea374830ebe1757115a85e088d41c6b77cf5ec821f30b1d890417bf2fa31e5908ded5fa677f8c7b184ad09028fdde96b6a6109850aa800175eabcdbbb684a96c2eb6379dfea08d32fe2331fe103233ad58dcdb1e6e077cb9f24eaec5c25af", + "exponent": "010001", + "expDate": "20201231", + "checkSum": "eeb0dd9b2477bee3209a914cdba94c1c4a9bded9" + }, + { + "rid": "A000000004", + "indx": "F8", + "hashInd": "01", + "arithInd": "01", + "modul": "a1f5e1c9bd8650bd43ab6ee56b891ef7459c0a24fa84f9127d1a6c79d4930f6db1852e2510f18b61cd354db83a356bd190b88ab8df04284d02a4204a7b6cb7c5551977a9b36379ca3de1a08e69f301c95cc1c20506959275f41723dd5d2925290579e5a95b0df6323fc8e9273d6f849198c4996209166d9bfc973c361cc826e1", + "exponent": "03", + "expDate": "20201231", + "checkSum": "f06ecc6d2aaebf259b7e755a38d9a9b24e2ff3dd" + }, + { + "rid": "A000000004", + "indx": "F9", + "hashInd": "01", + "arithInd": "01", + "modul": "a99a6d3e071889ed9e3a0c391c69b0b804fc160b2b4bdd570c92dd5a0f45f53e8621f7c96c40224266735e1ee1b3c06238ae35046320fd8e81f8ceb3f8b4c97b940930a3ac5e790086dad41a6a4f5117ba1ce2438a51ac053eb002aed866d2c458fd73359021a12029a0c043045c11664fe0219ec63c10bf2155bb2784609a106421d45163799738c1c30909bb6c6fe52bbb76397b9740ce064a613ff8411185f08842a423ead20edffbff1cd6c3fe0c9821479199c26d8572cc8afff087a9c3", + "exponent": "03", + "expDate": "20201231", + "checkSum": "336712dcc28554809c6aa9b02358de6f755164db" + }, + { + "rid": "A000000004", + "indx": "FA", + "hashInd": "01", + "arithInd": "01", + "modul": "a90fcd55aa2d5d9963e35ed0f440177699832f49c6bab15cdae5794be93f934d4462d5d12762e48c38ba83d8445deaa74195a301a102b2f114eada0d180ee5e7a5c73e0c4e11f67a43ddab5d55683b1474cc0627f44b8d3088a492ffaadad4f42422d0e7013536c3c49ad3d0fae96459b0f6b1b6056538a3d6d44640f94467b108867dec40faaecd740c00e2b7a8852d", + "exponent": "03", + "expDate": "20201231", + "checkSum": "5bed4068d96ea16d2d77e03d6036fc7a160ea99c" + }, + { + "rid": "A000000004", + "indx": "FE", + "hashInd": "01", + "arithInd": "01", + "modul": "a653eac1c0f786c8724f737f172997d63d1c3251c44402049b865bae877d0f398cbfbe8a6035e24afa086befde9351e54b95708ee672f0968bcd50dce40f783322b2aba04ef137ef18abf03c7dbc5813aeaef3aa7797ba15df7d5ba1cbaf7fd520b5a482d8d3fee105077871113e23a49af3926554a70fe10ed728cf793b62a1", + "exponent": "03", + "expDate": "20201231", + "checkSum": "9a295b05fb390ef7923f57618a9fda2941fc34e0" }, { "rid": "A000000004", "indx": "EF", "hashInd": "01", "arithInd": "01", - "modul": "A191CB87473F29349B5D60A88B3EAEE0973AA6F1A082F358D849FDDFF9C091F899EDA9792CAF09EF28F5D22404B88A2293EEBBC1949C43BEA4D60CFD879A1539544E09E0F09F60F065B2BF2A13ECC705F3D468B9D33AE77AD9D3F19CA40F23DCF5EB7C04DC8F69EBA565B1EBCB4686CD274785530FF6F6E9EE43AA43FDB02CE00DAEC15C7B8FD6A9B394BABA419D3F6DC85E16569BE8E76989688EFEA2DF22FF7D35C043338DEAA982A02B866DE5328519EBBCD6F03CDD686673847F84DB651AB86C28CF1462562C577B853564A290C8556D818531268D25CC98A4CC6A0BDFFFDA2DCCA3A94C998559E307FDDF915006D9A987B07DDAEB3B", + "modul": "a191cb87473f29349b5d60a88b3eaee0973aa6f1a082f358d849fddff9c091f899eda9792caf09ef28f5d22404b88a2293eebbc1949c43bea4d60cfd879a1539544e09e0f09f60f065b2bf2a13ecc705f3d468b9d33ae77ad9d3f19ca40f23dcf5eb7c04dc8f69eba565b1ebcb4686cd274785530ff6f6e9ee43aa43fdb02ce00daec15c7b8fd6a9b394baba419d3f6dc85e16569be8e76989688efea2df22ff7d35c043338deaa982a02b866de5328519ebbcd6f03cdd686673847f84db651ab86c28cf1462562c577b853564a290c8556d818531268d25cc98a4cc6a0bdfffda2dcca3a94c998559e307fddf915006d9a987b07ddaeb3b", "exponent": "03", "expDate": "20201231", - "checkSum": "21766EBB0EE122AFB65D7845B73DB46BAB65427A" + "checkSum": "21766ebb0ee122afb65d7845b73db46bab65427a" } ] \ No newline at end of file diff --git a/baselib/src/test/java/com/utsmyanmar/baselib/ExampleUnitTest.java b/baselib/src/test/java/com/utsmyanmar/baselib/ExampleUnitTest.java index 8147a3e..d4c6913 100644 --- a/baselib/src/test/java/com/utsmyanmar/baselib/ExampleUnitTest.java +++ b/baselib/src/test/java/com/utsmyanmar/baselib/ExampleUnitTest.java @@ -21,7 +21,7 @@ public class ExampleUnitTest { @Test public void testCAPKIndex() { - String index = "99"; + String index = "F1"; int data = Integer.parseInt(index,16); System.out.println("Data: "+data);