如何让Braintree v.zero显示现有的付款方式?

时间:2016-02-12 00:55:04

标签: javascript braintree

使用Braintree v.zero SDK设置付款表单:

braintree.setup(response.value, 'dropin', {
  container : 'xyz',
  onPaymentMethodReceived : function(payment) { 
    pay(payment.nonce);
  },
});

输入付款信息后,表格会显示:

enter image description here

...但仅在重新加载页面之前。有没有办法初始化dropin支付表单以列出客户现有的支付方式?

1 个答案:

答案 0 :(得分:4)

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

关键似乎在于您的response.value(即您的客户端令牌)。我猜你用来生成它的服务器代码并没有为该用户指定customerId。 来自Braintree documentation on generating client tokens

  

您的服务器负责生成客户端令牌,其中包含客户端初始化客户端SDK以与Braintree通信所需的所有授权和配置信息。在生成客户端令牌时包括customerId允许返回的客户从以前使用的付款方式选项中进行选择,从而改善多次结账的用户体验。设置您的客户端涵盖交易所的客户端。

底线:如果您使用与您的客户匹配的customer_id生成客户端令牌,则Drop-in将显示多张卡片。

client_token = braintree.ClientToken.generate({
     "customer_id": a_customer_id
})