在Braintree中决定客户ID并在交易后保存付款方式



我希望在我们的网站上使用Braintree支付网关进行以下工作流程:登录或未登录的客户使用信用卡付款(使用Braintree托管字段)。如果付款成功并且客户未登录,我们会让他登录或注册以保存付款方式。

不幸的是,这意味着在Transaction.sale中我无法使用现有的客户ID,因为客户尚未登录我们的系统。交易完成后,我无法重复使用付款随机数来创建付款方式并将其分配给我们的客户。

我正在考虑的一种可能性是在交易期间始终使用付款方式(使用新的 Braintree 客户 ID),而不是在用户登录时将此客户 ID 分配给我们的用户帐户。但是,这可能会导致一个用户拥有多个 Braintree 客户 ID,这将使以后使用保存的卡付款复杂化。(另外,我必须收集许多虚假客户和付款方式,这些客户和付款方式永远不会再使用,因为我们的大多数客户从未创建用户帐户。有没有更好的方法?

完全披露:我在Braintree工作。如果您有任何其他问题,请随时联系支持人员。

你是对的。要实现此流程,您需要每次创建新客户和付款方式。好消息是,Transaction.sale不需要客户 ID,只需要付款方式令牌,因此您可以将付款方式令牌与应用的客户 ID 相关联,而无需在 Braintree 控制面板中维护与客户的关系。

对于清理,您可以执行以下操作:

1) 如果用户拒绝保存付款方式的选项,请立即删除客户和付款方式令牌。

2) 如果用户关闭应用程序而没有以一种或另一种方式做出决定,您可以有一个定期的过程来清理无人认领的客户和付款方式令牌。

最新更新