Braintree:如何使用自定义 UI 选择付款方式并获取付款方式 nonce?

Posted

技术标签:

【中文标题】Braintree:如何使用自定义 UI 选择付款方式并获取付款方式 nonce?【英文标题】:Braintree : How can i select a payment method and obtain a payment method nonce using a custom UI? 【发布时间】:2015-07-12 02:28:41 【问题描述】:

我正在尝试在 Web 应用程序中使用 Braintree 进行支付。我追求的流程是:

用户注册:创建 Braintree 客户,将其 id 与用户关联 首次付款:显示信用卡信息的自定义 UI,使用 Braintree 教程添加信用卡并进行付款。 第二次付款:显示客户的付款方式列表。当他/她选择一个时,使用所选的付款方式进行付款。

我不知道我应该如何实施第二个付款部分。假设我保留付款方式信息并向客户显示付款方式列表,我如何获得付款方式 nonce 我需要能够执行销售交易?

澄清一下,我没有使用 Dropin UI,因为:

我需要的信息多于输入信用卡(如持卡人)时无法显示的信息 我需要有不同语言的自定义外观用户界面

我已阅读 Braintree 指南和参考资料,但我找不到自定义 UI 的资源,我可以在其中重复使用付款方式信息。

非常感谢您的任何意见。

【问题讨论】:

我在这里面临同样的问题。尚未在文档中找到任何内容。您如何解决使用自定义 UI 在客户端上创建付款方式 nonce 的问题? 【参考方案1】:

我在布伦特里工作。如果您需要更多帮助,我建议您email our support team。

当您store a credit card(通过将 nonce 传递给信用卡或付款方式创建)时,您返回的响应包含 token。您可以永久存储此令牌,并在将来使用它在同一张卡上付款。

【讨论】:

如果您需要将该付款方式设置为默认值怎么办?在文档中,它说 nonce 是必需的:如何从现有的付款方式中取回它?像从令牌中获取随机数之类的东西......?【参考方案2】:

您可以使用用户的支付令牌或客户 ID 向用户收费:https://developers.braintreepayments.com/guides/transactions/ruby#sale-with-vaulted-payment-methods

result = Braintree::Transaction.sale(
  :payment_method_token => "the_token",
  :amount => "10.00"
)

# or

result = Braintree::Transaction.sale(
  :customer_id => "the_customer_id",
  :amount => "10.00"
)

【讨论】:

以上是关于Braintree:如何使用自定义 UI 选择付款方式并获取付款方式 nonce?的主要内容,如果未能解决你的问题,请参考以下文章

Braintree 自定义贝宝按钮

如何使用 Braintree 在客户端显示客户的付款方式?

如何使用 Braintree 沙箱测试贝宝支付

如何使用现有的 customerId 处理 Braintree 付款

Braintree - 插入式 UI - Apple Pay - Swift 3

如何在没有商户账户的情况下使用 Braintree 进行买卖双方的付款?