Rosslare AYC-Q54B (Wiegand) Keypad

I somehow found a library and figured out how to read the incoming data. Each keypress generates a 4-digit binary code. I'm having trouble capturing the entire code though (so that I can use it elsewhere). Any help would be much appreciated!

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;
}
}