【问题标题】:Braintree flaw with nonces?随机数的布伦特里缺陷?
【发布时间】:2021-03-18 05:21:17
【问题描述】:

我想知道这是braintree的缺陷还是我不理解。在下图和文档中:https://developers.braintreepayments.com/start/overview 的步骤是

  1. 客户从我的服务器请求令牌
  2. 我给他们一个令牌
  3. 他们通过将所有信息和银行详细信息发送到 Braintree 来完成付款
  4. Braintree 给了他们一个随机数。
  5. 客户给了我这个随机数
  6. 我使用 Braintree 的服务器验证该随机数

但是,在第 4 步中,为什么 Braintree 将令牌提供给客户,而不是直接向我的服务器发送令牌或其他东西?如果客户付款然后关闭标签怎么办。这意味着无法进行第 5 步和第 6 步,并且这笔付款被搁置了。你如何解决这个问题?我不希望客户付款后关闭他们的标签,然后我必须手动分配他们的订单。

【问题讨论】:

    标签: payment-gateway braintree braintree-sandbox


    【解决方案1】:

    这个流程看起来很标准。我认为这里没有缺陷。

    为什么 Braintree 将令牌提供给客户,而不是直接向我的服务器发送令牌或其他东西?

    客户的浏览器直接连接到 Braintree,以防止您的服务器暴露于任何信用卡信息。这大大缩小了您的 PCI 范围 - 这对您有利。在此交互过程中不涉及您的服务器,因此 Braintree 不知道将该 nonce 发送到哪里。

    实施某种类型的系统,让 Braintree 与您的服务器联系以异步提供随机数,这会使所有相关人员的流程变得非常复杂。

    如果客户付款然后关闭标签怎么办。这意味着无法进行第 5 步和第 6 步,并且这笔付款被搁置了。

    第 3 步是纯粹的标记化。它实际上并不向客户收费。在您在步骤 6 中创建交易之前,客户的付款信息一直保留在 Braintree 一侧(该图将其描述为步骤 5)。如果客户在使用 Braintree 存储付款信息和您使用 nonce 创建交易之间关闭浏览器,则不会向客户收费。据推测,Braintree 会在一段时间后过期付款详细信息。

    【讨论】:

      猜你喜欢
      • 2017-02-07
      • 1970-01-01
      • 2013-01-18
      • 1970-01-01
      • 2012-06-03
      • 1970-01-01
      • 2015-03-02
      • 2016-11-09
      • 2011-02-12
      相关资源
      最近更新 更多