【问题标题】:What should a merchant site worry about when implementing a payment gateway?商家网站在实施支付网关时应该担心什么?
【发布时间】:2011-04-03 07:56:03
【问题描述】:

我必须为我正在维护的网站实施支付网关,而我以前没有做过类似的事情。以前为了实现支付处理,该网站会建立一个交易并将其直接发送到支付处理器并等待结果。由于该网站处理了信用卡信息的收集、交易的构建以及请求/响应,因此我不必担心之前的开发人员尚未涵盖的内容。

现在我正在实施支付网关,有什么我应该检查或验证的吗?

此处理器的工作方式是,我构建了一个表单,其中包含隐藏字段中的订单 ID、金额、货币等。该表单被发送到网关,网关将处理处理,然后将表单发送回我们的服务器,在那里我们可以更新购物车并完成订单。

我唯一能想到的是用户在我们将表单字段发布到网关之前修改它们。比如添加一个 100 美元的物品并改变

<input name="amount" value="100.00" type="hidden"> 

<input name="amount" value="0.01" type="hidden"> 

因此,当我收到帖子时,我必须验证支付的金额是否等于所欠的金额。还有什么我想念的吗?实现文档甚至没有提到与上述类似的场景,所以我有点担心我会遗漏其他东西并让网站对进一步的利用开放。

【问题讨论】:

  • 了解您正在实施的网关会很有帮助。大多数网关服务都提供支持和代码示例。如果您没有,您可能需要考虑切换到有的。

标签: c# security payment-gateway payment-processing


【解决方案1】:

首先,我不认为您正在实施支付网关。听起来你只是在使用一个。如果这是错误的,请忽略此答案的其余部分,我会尽可能删除它:)

通过简单的 HTTP 表单使用支付网关

Google Checkout(举个例子)允许您使用您所描述的“未签名购物车”。另一种选择是通过网络服务界面发布,并进行正确的错误检查等。当您使用 HTML 表单提交订单时,Google Checkout 会警告您,商家,“购物车未签名”(稍后在管理员屏幕)。这意味着购物车中的信息——尤其是价格——是不可信的。最终用户放入信用卡的事实基本上证明了他/她可以进行交易。因此,您只需检查用于达到最终总数的数字——或欠款金额,或无论您的业务是什么——签出。所以你在做的事情在低级别上是好的。

您应该使用网络服务提交服务的原因——以及对购物车的安全签名等——是……如果数字错误,你会怎么做?打电话给最终用户并解释情况?所以这有点棘手,因为你不能假设欺诈。有很多奇怪的原因会改变购物车,而用户实际上并不想欺骗你。

【讨论】:

    【解决方案2】:

    首先,我必须同意 Capital G。建立服务器到服务器的连接比尝试通过客户端浏览器处理表单提交要容易得多。

    要检查的一件事:提交到网关后,客户端是否会发起回发到您的服务器,或者网关服务器是否处理它?如果客户启动它,是什么阻止他们向您发布订单已完成而无需前往网关?听起来您可能需要向网关发出 Web 服务请求,以在接受声称已完成的客户端 POST 之前验证付款实际已完成。

    您能在通讯中添加摘要吗?如果您与网关有一个共享密钥,您可以验证共享信息的完整性,即使它通过客户端传递,也可以通过两种方式包含摘要。

    有意义吗?

    卡尔

    【讨论】:

      【解决方案3】:

      我认为您最好创建一个专门的 Web 服务来处理您在这里进行的这种“第 3 方”管道架构,您基本上扮演中间人的角色,而 HTML 表单对我来说只是不必要的开销,除非需要以特定方式完成,否则我会转向网络服务。

      话虽如此,请将其视为任何客户端应用程序,不要相信他们提供给您的任何信息,在执行操作之前根据需要验证和清理信息。

      我还建议构建或集成对登录到您的中间件系统的支持,因此如果出现问题,您可以通过某种方式捕获问题并在未来进行跟踪、错误修复、支持电话等。

      这可能很明显,但请确保验证您的订单号,用户可以在其中放置他们想要的任何东西,再次验证和清理数据并记录真正奇怪的情况。

      【讨论】:

        猜你喜欢
        • 2011-12-31
        • 2019-05-30
        • 2012-05-27
        • 2015-10-14
        • 2012-02-19
        • 2016-12-06
        • 1970-01-01
        • 1970-01-01
        • 2021-01-13
        相关资源
        最近更新 更多