Rosslare AYC-Q54B (Wiegand) Keypad

It is only a 12 key keypad so it must be DCBA code :
code/keys
0 (1)
1 (2)
2 (3)
3 (4)
4 (5)
5 (6)
6 (7)
7 ("8")
8 (9)
9 (10
A (11)
B (12)

 const int data0 = 0; // Interrupt 0, digital pin 2
const int data1 = 1; // Interrupt 1, digital pin 3

int nums = 0;

volatile long readerdata = 0;
String val1 = "";
String val2 = "";

void setup() {
  attachInterrupt(data0, readerdata0, CHANGE);
  attachInterrupt(data1, readerdata1, CHANGE);
  Serial.begin(9600);
  Serial.println("\n--Ready--");
}

void readerdata0() {
  int status = digitalRead(data0+2);
  if (status == LOW)
    readerdata = readerdata << 1;
  else if (digitalRead(data1+2) == HIGH) {
    //Serial.print(readerdata, BIN);           
    val1 = String(readerdata, BIN);
    readerdata = 0;
    nums++;
  }
}

void readerdata1() {
  int status = digitalRead(data1+2);
  if (status == LOW)
    readerdata = (readerdata << 1) | 1;
  else if (digitalRead(data0+2) == HIGH) {
    //Serial.print(readerdata, BIN);
    val2 = String(readerdata, BIN);
    readerdata = 0;    
    nums++;    
  }
}

void loop() {
if(nums == 4) {
  Serial.println("Code Received: " + val1 + val2);
  nums = 0;
  }
}