有沒有辦法將讀卡器連接到我的Web應用程序(javascript),以便用戶不必手動輸入信用卡信息?將信用卡閱讀器連接到Web應用程序?
此Web應用程序用於購買商店的產品。用戶點擊他想購買的物品,然後在讀卡器上刷信用卡,他會得到一張收據。
有沒有辦法將讀卡器連接到我的Web應用程序(javascript),以便用戶不必手動輸入信用卡信息?將信用卡閱讀器連接到Web應用程序?
此Web應用程序用於購買商店的產品。用戶點擊他想購買的物品,然後在讀卡器上刷信用卡,他會得到一張收據。
簡短的回答是 - 不,你可以找到在How to link access card reader with PHP?
Downvoted。 看下面的答案,這是完全不正確的。 – SobiborTreblinka 2014-06-27 17:04:28
如果您選擇表單域以使其處於活動狀態,然後刷信用卡;該字段將填充卡數據。當字段文本更改時,可以觸發JavaScript來自動填充表單。 – 2015-06-11 20:24:23
其實,這是可能的一些更多的解釋,由於事實簡單的USB讀卡器作爲鍵盤的輸入設備。由於它充當鍵盤輸入,一旦輸入框處於焦點狀態,您可以刷卡,使用一些漂亮的jQuery等將其推送到隱藏字段,然後從那裏處理它。
Please see my answer on that question that Maris linked to.
編輯:二千〇一十六分之二
我創建了一個GitHub Gist一個非常簡單的jQuery的實現。
隱藏字段仍然允許用戶輸入,如果他想要的話。他只是看不到它。 – 2017-12-18 19:42:13
正如在其他答案中提到的那樣,條形碼掃描儀或讀卡器的工作原理類似於鍵盤。您可以在整個文檔中附加一個監聽器,例如:
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
}
}
}
您可以在文本框連接監聽器,如果你想。確保在刷卡時它是專注的。
您需要檢查用戶是否將代碼複製/粘貼到輸入,只需檢查CTRL和SHIFT修飾符是否打開,如果是,則清除該字段。否則,用戶只需通過粘貼即時「鍵入」即可 – 2017-12-18 19:43:56
這是我的想法。信用卡將爲您提供一個您在機器上安裝的軟件。該軟件在本地端口上公開服務。
您的Web應用程序將POST請求發送到本地服務。您提出的請求可能只包含您要收取的金額以及一些認證令牌,以便根據服務進行認證。
之後,信用卡終端將處理收費並返回成功時的參考號碼或失敗時的消息。
正如您所看到的,此過程不會將信用卡信息暴露給您的Web應用程序。它只是得到通知交易是否被批准,所以你可以繼續或拒絕處理訂單。
MārisKiseļovs'的回答是不正確的。請將@AngeloS回覆標記爲正確答案。 – 2012-12-28 16:36:56