jQuery POS

Bringing point of sale to the cloud

View project onGitHub

jquery-pos v0.0.1 Beta

Point of sale hardware support plugin for jQuery

I have currently only tested this plugin on 1 type of barcode scanner and credit card magnetc stripe reader. However, so far tests have been very successful and promising. Any code contributions are much appreciated as I'm sure we can develop more extensive Regexp options that span accross different barcode types and other forms of CC Data.

Usage

Simply include jquery.pos.js on your site then use the following code block:

$(function(){
    $(document).pos();
    $(document).on('scan.pos.barcode', function(event){
        //access `event.code` - barcode data
    });
    $(document).on('swipe.pos.card', function(event){
        //access following:
        // `event.card_number` - card number only
        // `event.card_holder_first_name` - card holder first name only
        // `event.card_holder_last_name` - card holder last name only
        // `event.card_exp_date_month` - card expiration month - 2 digits
        // `event.card_exp_date_year_2` - card expiration year - 2 digits
        // `event.card_exp_date_year_4` - card expiration year - 4 digits
        // `event.swipe_data` - original swipe data from raw processing or sending to a 3rd party service
    });
});

You can also override the following default options...

var options = {
    scan: true, //enable scan event
    swipe: true, //enable swipe event
    events: {
    scan: {
        barcode: 'scan.pos.barcode' //event name for successfully scanned barcode
    },
    swipe: {
        card: 'swipe.pos.card' //event name for successfully scanned card
    }
    },
    regexp: {
    scan: {
        barcode: '\\d+' //regexp for barcode validation
    },
    swipe: {
        card: '\\%B(\\d+)\\^(\\w+)\\/(\\w+)\\^\\d+\\?;\\d+=(\\d\\d)(\\d\\d)\\d+\\?' //regexp for credit card validation
    }
    },
    prefix: {
    scan: {
        barcode: '' //prefix for barcode - will be added to regexp
    },
    swipe: {
        card: '' //prefix for credit card - will be added to regexp
    }
    }
};

$(document).pos(options);