Hey experts, I am working on an internal solution that would allow my org to process credit cards through a magtek card swipper (21040102). After several hour of surching I have been able to capture the data howerver it is in a string.
example:
%B1111111111111111^lname/fname ^120800000000000000000000000000?;1111111111111111=1208000000000000000?
--end Ex---
I have the following script:
<script language="javascript1.2">
function
swipedCreditCard() {
ccField = document.getElementById('ccNum');
expirField = document.getElementById('ccExpir');
cvvField = document.getElementById('ccCvv');
fname = document.getElementById('fname');
lname = document.getElementById('lname');
if( ccField.value.length <= 0 ) {
return true;
}
if ( ccField.value.substr(0,1) == "B" ) {
var containsCaret = ccField.value.search('^');
if( containsCaret < 0 ) {
expirField.focus();
}
else {
var pieces = ccField.value.split('^');
if( pieces.length >= 3 ) {
var cardNumber = pieces[0];
var name = pieces[1];
var exp = pieces[2];
ccField.value = cardNumber.substr(1,(cardNumber.length-1));
expirField.value = exp.substr(2,2) + exp.substr(0,2);
namepieces = name.split('/');
var l = namepieces[0];
var f = namepieces[1];
fname.value = f;
lname.value = l;
cvvField.focus();
}
}
}
else {
var containsEqual = ccField.value.search('=');
if( containsEqual < 0 ) {
expirField.focus();
}
else {
var pieces = ccField.value.split('=');
if( pieces.length <= 2 ) {
var cardNumber = pieces[0];
var exp = pieces[1];
ccField.value = cardNumber;
expirField.value = exp.substr(2,2) + exp.substr(0,2);
cvvField.focus();
}
}
}
return true;
}
</script>
However, it will not parse the data sent from the swipper. it will using onbur on the ccField put all the information and submit the form.
My ultimate question is two fold:
how to get it to parse correctly (each data into the correct field) show the correct card type (visa Maste.....) and how to have it not submit automatically (although It will be used in the future).
any if all help provided will be greatly appreciated.
thanks in advance.
Open in new window