用php表单处理信用卡

用php表单处理信用卡,php,mysql,payment-gateway,credit-card,payment-processing,Php,Mysql,Payment Gateway,Credit Card,Payment Processing,我正在考虑将信用卡处理集成到表单中。基本上发生的是: 客户将进入受ssl保护的网站 他们将信息输入表单,然后选择不同的下拉选项,然后jquery在选择不同选项时动态更新报价的价格 一旦客户对他们的报价满意,他们按submit,然后将信息发布到付款页面 客户输入他们的信用卡号,然后使用信用卡处理程序脚本?将其过账到信用卡处理程序,以及从帐户中借记的价格。(这部分不确定) 然后,信用卡处理器返回真值或假值 如果返回false,则返回“transaction failed”,否则将客户详细信息输入数据

我正在考虑将信用卡处理集成到表单中。基本上发生的是:

  • 客户将进入受ssl保护的网站

  • 他们将信息输入表单,然后选择不同的下拉选项,然后jquery在选择不同选项时动态更新报价的价格

  • 一旦客户对他们的报价满意,他们按submit,然后将信息发布到付款页面

  • 客户输入他们的信用卡号,然后使用信用卡处理程序脚本?将其过账到信用卡处理程序,以及从帐户中借记的价格。(这部分不确定)

  • 然后,信用卡处理器返回真值或假值

  • 如果返回false,则返回“transaction failed”,否则将客户详细信息输入数据库并显示成功消息

  • 我想知道的是,这是否是应该遵循的正确程序?因为我为之做这件事的人正在谈论将信用卡详细信息保存到DB或以csv格式发送给他们,这会发出警报,所以我告诉他们这两种方法都不安全,处理应由卡处理公司完成

    我只是想澄清一下,在我提出一个替代方案之前,上述过程是正确的。

    首先,将这些数据保存在数据库中并不是“不安全的”。如果您有回头客,并且希望为他们提供不必一直重新输入信息的服务,那么使用数据库是一个好主意。为了使这个想法更安全,您需要为数据库管理、服务器访问和适当的数据安全(即散列、加密等)制定适当的策略

    至于您的脚本,如果您通过POST向PHP脚本提交数据,PHP脚本肯定必须与DB对话(无论是您的本地脚本还是与信用卡脚本的连接)

    要回答您的问题,您需要准确地了解脚本需要什么,然后才能判断您需要在本地执行什么。如果脚本只是接受输入并返回值,那么您必须将其集成到您的WebApp中


    如果有更多详细信息?

    处理此问题的最简单方法是向支付网关注册。他们将有关于如何与服务器安全通信的说明。然后,这些钱被发送到一个互联网商户账户

    然后,您可能需要站点的安全套接字层证书,以便与支付网关的服务器建立安全连接


    英国和爱尔兰的支付网关的一个例子是。

    是的,基本上就是这样工作的。你很少想自己储存信用卡,这会让你承担很多潜在的责任。你可能想从处理器中保存身份验证。让您的同事了解PCI合规性是明智的。当他们说要存储信用卡详细信息时,我说他们必须遵守PCI法规,因此他们目前没有机会使用共享主机,所以希望这能让他们闭嘴,除非他们想在一个专用的安全服务器上花很多钱。我非常怀疑你能在共享主机上获得PCI认证。大多数都会进行严格的端口扫描,以确保没有显示任何内容,因此打开FTP或SSH是自动失败的。记住,你不需要在服务器上花很多钱。你可以以每月20美元的价格获得一个合适的VPS,这可能比你为你的商户帐户支付的费用要少。存储信用卡数据通常会让你承担不必要的责任。大多数支付处理器通过返回某种身份验证令牌来支持重复收费,您可以使用该令牌重新计费,而无需存储他们的抄送。我从来没有说过这是个好主意。我只是说,在数据库中存储CC#不是不安全的。不是天生的,但它确实会使您受到更严格的安全要求的约束。同意。但这不是由我们来决定的。由他们的业务决定实施哪些信息安全策略。如果有什么不同的话,那就是我的回答有一定的教育意义和价值。不确定它是否值得a-1,这不是最好的答案。谢谢ceejayoz,这很容易知道,这就是他们想要保存信用卡详细信息的原因,但我向他们指出,如果他们被偷,这会让他们承担责任,你的例子听起来像是一个更安全的选择。谢谢你的回答,我听到了很多关于Sagepay的好消息,所以我会建议他们作为一种选择。我已经提前告诉他们,他们将需要SSL证书,这样他们就知道在这方面会发生什么,我只是想澄清一下,从获取客户详细信息开始。谢谢:-)