bank card readers js
This commit is contained in:
@@ -0,0 +1,41 @@
|
|||||||
|
---
|
||||||
|
title: Bank Card Readers for Web Applications
|
||||||
|
layout: post
|
||||||
|
tags: bank-card forms javascript reader
|
||||||
|
description: Scanning credit cards into website forms.
|
||||||
|
code: https://gist.github.com/dpb587/5229239
|
||||||
|
---
|
||||||
|
|
||||||
|
I made a web-based [point of sale][1] for [The Loopy Ewe][2], but it needed an easier way to accept credit cards aside
|
||||||
|
from manually typing in the credit card details. To help with that, we got a keyboard-emulating USB magnetic card reader
|
||||||
|
and I wrote a [parser][3] for the [card data][4] and convert it to an object. It is fairly simple to hook up to a form
|
||||||
|
and enable a card to be scanned while the user is focused in the name or number fields...
|
||||||
|
|
||||||
|
{% highlight javascript %}
|
||||||
|
require(
|
||||||
|
[ 'payment/form/cardparser', 'vendor/mootools' ],
|
||||||
|
function (paymentFormCardparser) {
|
||||||
|
function storeCard(card) {
|
||||||
|
$('payment[card][name]').value = card.name;
|
||||||
|
$('payment[card][number]').value = card.number;
|
||||||
|
$('payment[card][expm]').value = card.expm;
|
||||||
|
$('payment[card][expy]').value = card.expy;
|
||||||
|
$('payment[card][code]').focus();
|
||||||
|
}
|
||||||
|
|
||||||
|
paymentFormCardparser
|
||||||
|
.listen($('payment[card][name]'), storeCard)
|
||||||
|
.listen($('payment[card][number]'), storeCard)
|
||||||
|
;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
It acts as a very passive listener without requiring the user to do anything special - if there is no card reader
|
||||||
|
connected then the form field is simply a regular field for keyboard input.
|
||||||
|
|
||||||
|
|
||||||
|
[1]: http://en.wikipedia.org/wiki/Point_of_sale
|
||||||
|
[2]: http://www.theloopyewe.com/
|
||||||
|
[3]: https://gist.github.com/dpb587/5229239#file-cardparser-js
|
||||||
|
[4]: http://en.wikipedia.org/wiki/Magnetic_stripe_card
|
||||||
@@ -161,7 +161,7 @@ section .timeline > * {
|
|||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
article.layout-post .timeline > *,
|
body.layout-post section .timeline > *,
|
||||||
section:hover .timeline > * {
|
section:hover .timeline > * {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user