Stripe payments 条纹标记-为什么不是';t令牌中包含的数据量

Stripe payments 条纹标记-为什么不是';t令牌中包含的数据量,stripe-payments,Stripe Payments,我最近一直在玩stripe,虽然我完全理解令牌会对服务器隐藏客户的信用卡详细信息。这表明服务器不应该依赖数据量,因为它可以由客户端更改 Don’t Rely on the Form’s Price A frequent mistake stems from using form data to contain the price of the product being purchased, possibly via a hidden input. Because a user can ea

我最近一直在玩stripe,虽然我完全理解令牌会对服务器隐藏客户的信用卡详细信息。这表明服务器不应该依赖数据量,因为它可以由客户端更改

Don’t Rely on the Form’s Price
A frequent mistake stems from using form data to contain the price of 
the product being purchased, possibly via a hidden input. Because a 
user can easily edit this input’s value, it’s unwise to depend on it.
Always fetch the price of the product from the server-side. Never rely
on the form to tell you. A simple database query is the preferred option.

有人能解释为什么stripe不将数据量值作为参数包含在令牌生成中吗?服务器端代码是否有可能改变商定的价格并向客户端多收费

由您设置费用金额。例如,一家酒店可以授权100美元过夜,但在退房时发现您使用了迷你吧,然后收取150美元。或者,自动计算的配送是关闭的,因此当你实际购买配送时,它会少收5美元,而你决定比你的授权少收5美元

您应该做的是计算向客户收费的金额,通过数据库中类似购物车的功能保存(或服务器端),将结帐表单发送给客户,然后使用之前计算的金额运行验证,然后再收费

最终用户可以轻松地更改表单数据。只需打开页面,右键单击(在chrome中),然后单击inspect element。然后可以任意更改表单数据。因此,如果您使用它,用户可以将1000.00美元产品的价格设置为0.01美元

在PCI世界中,令牌化的建议是使敏感数据远离服务器。否则,您将自己收集PCI数据,然后将数据量与PCI数据一起发送到处理器。通过不让敏感数据接触您的系统,您可以在PCI合规性方面节省大量资金和麻烦。请参阅此115页的文档:


希望这有帮助,请评论,如果没有,我会尽力进一步帮助

代币是未决费用的占位符,它不知道您将收取多少费用。一旦您准备好向卡收费,api请求将与令牌一起发送到Stripe。对金额的关注涉及到依赖客户可以操纵的表单中的POST数据。

在酒店场景中,我会看到业务流程有两个令牌。一个是最初的100美元房费,第二个是结帐流程,看起来可以支付额外的50美元迷你酒吧费用。对于购物车示例,我希望购物车在生成条带令牌之前计算带有扣减的总价格。问题是,在进行身份验证之前,您可能不知道有扣减。例如,我遇到了一个问题,一位来自军方的人订购了一吨(几乎是书面的)产品,将其送往德国的一个基地,但系统从USPS获得的USPS成本估算有一个错误。当运输标签购买时,虽然它是方式不同,因为从技术上讲,它将被运到美国地址,然后fwd到德国。所以我们在实际收费之前就改变了金额。另一个很好的例子是餐馆收费。这张卡是按一定金额授权的。收据会被退回给客户,并收取附加的小费和更改的金额。有很多信用卡流程利用了两步流程。这就是为什么您的网上银行帐户信息中有待定和可用的信息。如果这回答了您的问题,您介意将其标记为是吗?我真的很感激!谢谢您的“待定费用”是一个很好的类比,我想我在脑海中已经知道,代币实际上是未来支付x的额外承诺。您仍然可以从表单中发送价格,只需进行一些服务器端验证以确保其准确性。