@@ -35,7 +35,26 @@ private Fingerprint() {
3535 * @return A Fingerprint object.
3636 */
3737 public static Fingerprint createFingerprint (String loginID ,
38- String transactionKey , long sequence , String amount ) {
38+ String transactionKey ,
39+ long sequence ,
40+ String amount ) {
41+
42+ return createFingerprint (loginID ,transactionKey ,sequence ,amount ,"" );
43+
44+ }
45+
46+ /**
47+ * Creates a fingerprint with raw data fields.
48+ *
49+ * @param loginID
50+ * @param transactionKey
51+ * @param sequence : this number will be concatenated with a random value
52+ * @param amount
53+ * @param currency
54+ * @return A Fingerprint object.
55+ */
56+ public static Fingerprint createFingerprint (String loginID ,
57+ String transactionKey , long sequence , String amount , String currency ) {
3958
4059 Fingerprint fingerprint = new Fingerprint ();
4160
@@ -56,7 +75,7 @@ public static Fingerprint createFingerprint(String loginID,
5675 Mac mac = Mac .getInstance ("HmacMD5" );
5776 mac .init (key );
5877 String inputstring = loginID + "^" + fingerprint .sequence + "^" +
59- fingerprint .timeStamp + "^" + amount + "^" ;
78+ fingerprint .timeStamp + "^" + amount + "^" + currency ;
6079 byte [] result = mac .doFinal (inputstring .getBytes ());
6180 // Convert the result from byte[] to hexadecimal format
6281 StringBuilder strbuf = new StringBuilder (result .length * 2 );
0 commit comments