payment-gateway - 将 Braintree token 存储为引用是否有意义?

标签 payment-gateway braintree

我目前正致力于将 Braintree 与我们的产品相集成。我们通常的做法是存储初始付款调用生成的 Token,以便在跟踪付款问题时使用它。这就是我们使用 PayPal 所做的。 尽管使用 Braintree,我还是有点困惑。

  1. Braintree 生成两个不同的字符串。第一个称为“ token ”,在与 Braintree 进行通信之前使用。第二个称为“随机数”,用于完成交易。
  2. 正如我所见,生成的 token 超过 1500 个字符,而我们的数据库设计为最多容纳 250 个字符。存储更多对我来说没有意义。

所以我的问题是:

  1. 将 token 存储在我们的系统中是否有意义,或者它会在 3-4 小时后失去值(value)吗?
  2. 或者如果我在支付成功后只存储随机数,它会起作用吗?在任何情况下,交易都不会在没有随机数的情况下发生。

最佳答案

完全披露:我在 Braintree 工作。如果您还有任何疑问,请随时联系support .

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

这是在 Ruby 中创建支付方式并引用它的 token 的方式:

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

请注意,“ token ”一词也用于 client token ,用于配置客户端集成。这些通常很长。这很可能是您引用的 1500 个字符的“ token ”。客户端 token 与任何支付方式都没有关系,通常没有理由存储它。

一个payment method nonce只能使用一次,之后,它被标记为“已消耗”。如果您在消费后尝试使用付款方式随机数,您将收到验证错误:93107: Cannot use a payment_method_nonce more than once .考虑到这一点,您通常不应存储付款方式随机数。

关于payment-gateway - 将 Braintree token 存储为引用是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41220682/

相关文章:

reactjs - 没有账单地址的 Paypal 智能按钮?

php - 如何在php 5.3服务器上使用Braintree付款网关库3.5

javascript - payone 与 creditcardcheck 集成

Magento "place order"支付网关重定向

javascript - 如何插入 Braintree clientToken?

python - 布伦特里 + Python : Configure credential at transaction level rather than module

php - 给初学者的 REST API 建议

android - 如何动态设置RazorPay key ?

paypal - 与 Braintree 的每笔交易都需要付款随机数吗?

python - 如何获取客户的所有交易(python)