Web applications 有没有办法通过非本地Web应用程序的读卡器接受信用卡刷卡?

Web applications 有没有办法通过非本地Web应用程序的读卡器接受信用卡刷卡?,web-applications,stripe-payments,credit-card,payment-processing,stripe-connect,Web Applications,Stripe Payments,Credit Card,Payment Processing,Stripe Connect,我正在开发一个应用程序,它是一个市场,并使用Stripe的API进行订阅等 该应用程序是一个web应用程序,将在移动设备上大量使用,但它不是本机应用程序—它是一个基于浏览器的应用程序 最终用户需要亲自接受客户的付款,我正试图通过刷卡找到解决方案。然而,我发现的所有技术解决方案,如Cardflight等,都是专门针对iOS或Android原生应用程序的 有人在网络应用程序上听到或做过这样的事情吗?如果真的是这样,我也遇到了今年早些时候我的评论中提到的同样的问题。我知道如何做到这一点,但也有安全、P

我正在开发一个应用程序,它是一个市场,并使用Stripe的API进行订阅等

该应用程序是一个web应用程序,将在移动设备上大量使用,但它不是本机应用程序—它是一个基于浏览器的应用程序

最终用户需要亲自接受客户的付款,我正试图通过刷卡找到解决方案。然而,我发现的所有技术解决方案,如Cardflight等,都是专门针对iOS或Android原生应用程序的


有人在网络应用程序上听到或做过这样的事情吗?

如果真的是这样,我也遇到了今年早些时候我的评论中提到的同样的问题。我知道如何做到这一点,但也有安全、PCI等方面的缺点。。。首先,我需要Javascript中的一种方法来触发基于滑动、扫描等的事件。我找到了这个库,它为您提供了与扫描事件相关的Javascript回调扫描完成、扫描成功和扫描错误。我特别喜欢它的地方是,你不必把注意力集中在表单上,就可以将扫描的数据放到需要的地方,你只需选择表单,不管你在应用程序中的什么位置,它都会填写该表单。作者再次警告自述文件中可能存在的安全风险

一旦解析了信用卡扫描数据,我就使用了jquery.payments库,它提供了验证数据以及使用输入构建自己表单的函数。关键是能够实际使用表单输入,这样我就可以在提交表单之前将解析数据的值分配给每个输入

Stripe一直试图摆脱这种做法。由于PCI问题和其他相关的安全问题,他们不喜欢人们构建自己的表单输入。我最终没有这样做,因为我不想为额外的PCI法规负责。而且,有了我使用的那些基本USB刷子,有人可以从技术上截取数据。这是我知道如何做的唯一方法,它工作得很好,如果不是因为安全问题,我仍然会使用它。这是我的一些代码。希望这有帮助

            var complete = function(data) {
                if (data.type == "generic") {
                    sweetAlert("Oops...", "Card Type Not Recognized!", "error");
                    return false;
                }
                $("#cc-fullname").val(data.firstName + " " + data.lastName);
                $("#cc-number").val(data.account);
                $("#cc-exp").val(data.expMonth + " / " + data.expYear);

                window["stripe_fullname"] = data.firstName + " " + data.lastName;
                window["stripe_number"] = data.account;
                window["stripe_exp_month"] = data.expMonth;
                window["stripe_exp_year"] = data.expYear;
            };
            var failure = function() {
                swal("Oops...", "Something went wrong... Please try again!", "error");
            }

            /*  Success Function
            ========================================= */
            var success = function(event, data) {
                Stripe.setPublishableKey("{{ stripe_publishable_key }}");


                /*  Create Token
                ======================= */
                Stripe.card.createToken({
                    name: window["stripe_fullname"],
                    number: window["stripe_number"],
                    exp_month: window["stripe_exp_month"],
                    exp_year: window["stripe_exp_year"],
                }, stripeResponseHandler);


                /*  Response Callback
                ======================== */
                function stripeResponseHandler(status, response) {
                    var $form = $('#payment-card-form');
                    if (response.error) {
                        $form.find('.payment-errors').text(response.error.message);
                        $form.find('button').prop('disabled', false);
                    } else {
                        var token = response.id;
                        $form.append($('<input type="hidden" name="stripeToken" />').val(token));
                        $form.get(0).submit();
                    }
                }


            }

            $.cardswipe({
                firstLineOnly: true,
                success: complete,
                parsers: ["visa", "amex", "mastercard", "discover", "generic"],
                debug: false
            });
            $(document).on("success.cardswipe", success).on("failure.cardswipe", failure);

它是非官方支持的,但在使用它之前,您需要确保自己符合PCI标准。接触support@stripe.com更多信息。谢谢korben,我一直在等待Stripe支持团队的回复。我想我应该问问。我想PCI合规性与通过电话接收信用卡的过程是一样的-这就是你的意思吗?嗨,如果真的,我也在尝试做同样的事情,你有没有找到解决方案?@dave4jr我没有,也不相信现在这是可能的。嘿,dave4jr,非常感谢你的回复。我通读了所有内容,它与我将要采取的一种方法非常相似,但正如您发现的那样,安全风险对我的客户非常大。再次感谢您的关注!没问题,先生!=谢谢你好,dave4jr。我知道这是一篇很老的帖子,但我想知道你是否可以详细阐述一下你提到的一些安全问题。我正在做类似的调查。扫描仪->本机/web应用->web服务->支付网关。在我看来,只要符合PCI标准就足以放弃这一点,但我正在构建一个关于这一主题的案例。你的意见会很有帮助,也很受欢迎。谢谢