我在 Sandbox 中使用 Braintree 市场,我遇到了问题。
我在生成 client_token 时使用客户 ID,将 payment_nonce 保存在我的数据库中,稍后(在 3-4 分钟内)将其用于 submit_for_settlement。问题是每笔交易都需要一个唯一的随机数,但是如果我在 2-3 分钟内两次提交 Dropin UI,我会得到相同的随机数,而第二个交易失败并出现错误:不能多次使用支付方法随机数。有没有办法确保我获得唯一的随机数?
谢谢
最佳答案
不要使用相同的随机数创建另一笔交易,而是尝试使用 transaction.submit_for_settlement 提交原始交易进行结算
支付方式随机数是一次性使用的。要在您的服务器端集成中多次引用相同的父方法,您可以在保险库中创建一个支付方法 token 。
一般来说,您永远不应该在数据库中存储支付方式的随机数,因为它们是短暂的并且只能一次性使用。
https://developers.braintreepayments.com/ios+ruby/reference/request/transaction/submit-for-settlement https://developers.braintreepayments.com/ios+ruby/start/vault
关于braintree - 使用 Dropin UI 在 BrainTree 中复制随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29324089/