E commerce 托管支付网关和隐藏字段篡改

E commerce 托管支付网关和隐藏字段篡改,e-commerce,field,hidden,payment,E Commerce,Field,Hidden,Payment,我正在努力为我的雇主寻找一个电子商务解决方案,我们有必要使用托管支付页面,以最大限度地减少PCI合规问题。在研究了几家公司的解决方案之后,他们似乎都希望您通过一个隐藏字段向他们提交交易的总价,或者获取变量,以便生成支付表单。这对于商家来说似乎是一个相当大的问题,因为有Firebug(或者眼睛,在GET变量的情况下)的用户可以很容易地修改交易总额,获得一个新的托管支付表单,并继续结帐,从而给自己想要的任何折扣 以前有没有人建立过托管支付页面并处理过这个问题?对更好的方法有什么建议吗?通常会提交一个

我正在努力为我的雇主寻找一个电子商务解决方案,我们有必要使用托管支付页面,以最大限度地减少PCI合规问题。在研究了几家公司的解决方案之后,他们似乎都希望您通过一个隐藏字段向他们提交交易的总价,或者获取变量,以便生成支付表单。这对于商家来说似乎是一个相当大的问题,因为有Firebug(或者眼睛,在GET变量的情况下)的用户可以很容易地修改交易总额,获得一个新的托管支付表单,并继续结帐,从而给自己想要的任何折扣


以前有没有人建立过托管支付页面并处理过这个问题?对更好的方法有什么建议吗?

通常会提交一个哈希表,其中包含用户不知道的秘密值(例如密码、事务密钥等)生成的表单。因此,如果他们篡改了金额(也用于计算哈希值),那么支付网关将拒绝该交易。用户无法通过更改哈希来绕过此问题,因为他们没有计算哈希所需的所有信息


因此,使用这些托管表单是安全的,不会被滥用。如果它们不是,它们就不是可行的产品,网关也不能提供它们供使用。

如果您指的是托管表单本身是安全的,我对此没有异议。我的问题是,为了让他们为我的交易生成一个表单,我必须首先将交易的总价传递给他们,这就是篡改可能发生的地方:在生成托管表单之前。哈希是在您将用户发送到支付网关的托管表单时生成的。因此,它是在计算总数之后,在用户被发送到托管表单之前生成的。在对Authorize.net的解决方案(您似乎有经验)进行了一些研究之后,我发现它们确实支持您所描述的内容。然而,许多其他的支付处理者,比如Moneris(我的雇主选择了他),似乎不支持任何类型的散列提交,因此我感到困惑。真的似乎是他们都应该提供的一个基本功能…如果他们不提供它,就必须有某种机制来防止欺诈。如果没有,他们会感到震惊,因为他们将被允许继续将其作为一种产品提供。但奇怪的事情发生了。