[英]Connect a credit card reader to web application?
有沒有辦法將讀卡器連接到我的網絡應用程序(javascript),以便用戶不必手動輸入信用卡信息?
此網絡應用程序用於在商店購買產品。 用戶點擊他想要購買的商品,然后他在讀卡器中刷信用卡,他將收到收據。
實際上,由於簡單的USB讀卡器充當鍵盤輸入設備這是可能的。 由於它充當鍵盤輸入,一旦輸入框處於焦點,您可以刷卡,使用一些漂亮的jQuery等將其推送到隱藏字段,然后從那里處理它。
編輯:2/2016
我用一個非常簡單的jQuery實現創建了一個GitHub Gist 。
正如另一個答案所提到的,條形碼掃描器或讀卡器就像鍵盤一樣工作。 您可以附加一個監聽器,例如在整個文檔中:
document.onkeypress = function(e) {
e = e || window.event;
var charCode = (typeof e.which == "number") ? e.which : e.keyCode;
// store it , in this example, i use localstorage
if(localStorage.getItem("card") && localStorage.getItem("card") != 'null') {
// append on every keypress
localStorage.setItem("card", localStorage.getItem("card") + String.fromCharCode(charCode));
} else {
// remove localstorage if it takes 300 ms (you can set it)
localStorage.setItem("card", String.fromCharCode(charCode));
setTimeout(function() {
localStorage.removeItem("card");
}, 300);
}
// when reach on certain length within 300 ms, it is not typed by a human being
if(localStorage.getItem("card").length == 8) {
// do some validation
if(passedonvalidation){
// do some action
}
}
}
如果需要,可以在文本框上附加偵聽器。 刷卡時確保它是聚焦的。
我認為這就是它的工作原理。 信用卡將為您提供您在計算機上安裝的軟件。 該軟件在本地端口上公開服務。
您的Web應用程序將POST請求到該本地服務。 您提出的請求可能只包括您要收取的金額以及一些身份驗證令牌以對服務進行身份驗證。
在此之后,信用卡終端將處理收費並且在成功時返回參考號或在失敗時返回消息。
如您所見,此過程不會將信用卡信息公開給您的Web應用程序。 只是通知交易是否獲得批准,以便您可以繼續或拒絕處理訂單。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.