将Braintree代币作为参考是有意义的吗?



我目前正在努力将Braintree与我们的产品集成。我们通常的做法是存储带有初始付款电话的代币,以便在跟踪付款问题时可以使用它。这就是我们对PayPal的作用。虽然与Braintree在一起,但我有点困惑。

  1. Braintree产生两个不同的字符串。第一个被称为"令牌",在与Braintree进行通信之前,它被使用。第二个称为" nonce",用于完成交易。
  2. 我已经看到,生成的令牌超过1500多个字符,我们的数据库最多可容纳250个字符。对我来说,存储更多的东西没有意义。

所以我的问题是:

  1. 将令牌存储在我们的系统中是有意义的,还是在3-4小时后失去价值?
  2. ,如果我只是在付款成功后才存储Nonce,它将起作用?无论如何,如果没有nonce,交易不会进行。

全面披露:我在Braintree工作。如果您还有其他疑问,请随时联系支持。

当Braintree在您的保险库中创建付款方式时,它会返回Payment Method响应对象。此响应对象仅包含一个属性,即token。这个令牌唯一地标识了您的保险库中的付款方式。您可以存储此令牌,然后使用它以稍后引用保存的付款方式。通常,付款方式令牌不超过7个字符。

这是创建付款方式并引用其令牌的方式,将在Ruby中看起来:

result = Braintree::PaymentMethod.create(
    :customer_id => "42",
    :payment_method_nonce => nonce_from_the_client
)
if result.success?
    payment_method_token = result.payment_method.token
end

请注意,"令牌"一词也用于client token,该单词用于配置客户端集成。这些通常很长。这可能是您所引用的1500个字符的"令牌"。客户令牌与任何付款方式没有关系,通常没有理由将其存储。

payment method nonce只能使用一次,之后将其标记为"消耗"。如果您尝试在消费付款方式中使用付款方式,则将收到验证错误:93107: Cannot use a payment_method_nonce more than once。考虑到这一点,您通常不应存储付款方式nonces。

最新更新