如何将Stripe Token与购买的商品相关联;防止欺骗

时间:2018-03-17 04:09:02

标签: javascript security stripe-payments

我正在使用Stripe Checkout作为前端,后端使用生成的令牌创建费用。

如何在后端检查为购买一组商品而创建的令牌是否确实适用于该组商品?这是一个更详细的场景:

  

项目A的费用为10美元

     

B项费用为1,000美元

     
      
  1. 用户选择B并使用前端生成使用$ 1,000创建的令牌。
  2.   
  3. 前端将令牌和购买的项目列表(仅B)发送到后端。
  4.   
  5. 后端可以计算给定的购买项目列表以计算成本(但在哪里可以通过令牌验证?)$ 1,000用于验证用户购买B然后使用令牌进行收费。
  6.   

我担心的是,如果在第2步,用户欺骗发送的购买清单只是A(我知道它的价值低于B但是这应该被拒绝)。然后在第3步,后端应该如何拒绝使用令牌进行Stripe Charge?

尝试:

  1. 前端传递令牌,totalCost,listOfItems。
  2. 后端计算listOfItems的成本,并在为totalCost数量创建条带费用之前检查它是否与totalCost匹配。
  3. 这样可以安全吗?

1 个答案:

答案 0 :(得分:0)

这就是你应该使用webhook的原因 webhook documentation

要验证您的付款已完成且金额是否正确,您可以使用webhook而不是用户操作来触发。现在这是常见的做法。

收到webhook后,您可以在检查后触发更改订单状态(金额,client_info,其他检查)。