You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuxt(Vue2)集成Braintree DropIn如何将最后使用的存储信用卡设为加载默认激活项

实现方案

Braintree DropIn 组件本身未提供直接配置默认选中支付方式的参数,你可以通过两步实现需求:

步骤1:持久化存储最近使用的支付方式标识

每次用户完成支付后,将本次使用的信用卡对应的paymentMethodToken存储下来:

  • 优先存在后端对应用户的属性字段中,可实现跨设备同步
  • 简单场景也可存在前端localStorage中
// 支付成功回调中执行存储逻辑
// 假设当前支付返回的支付方式对象为paymentMethod
localStorage.setItem('lastUsedPayToken', paymentMethod.token)

步骤2:DropIn 初始化后手动触发选中

初始化DropIn实例后,匹配最近使用的支付方式并触发选中:

// 原有的DropIn初始化逻辑保持不变,仅补充下方逻辑
braintree.dropin.create({
  authorization: '你的客户端授权token',
  container: '#dropin-container',
  // 其余原有配置项不变
}, (err, dropinInstance) => {
  if (err) throw err

  // 从本地/后端接口获取存储的最近使用支付token
  const lastToken = localStorage.getItem('lastUsedPayToken')
  if (lastToken) {
    // 遍历所有已存储的支付方式匹配对应token
    dropinInstance.getAvailablePaymentMethods().forEach(payMethod => {
      // 仅匹配信用卡类型的支付方式,需要包含其他支付方式可删除type判断
      if (payMethod.type === 'CreditCard' && payMethod.token === lastToken) {
        dropinInstance.selectPaymentMethod(payMethod)
      }
    })
  }

  // 原有后续逻辑保持不变
})

补充说明

  • 如果token存储在后端,只需在初始化DropIn前先请求接口获取到最近使用的token,再执行上述匹配逻辑即可
  • 若匹配不到对应token(如用户删除了该存储信用卡),组件会自动回退到默认选中第一张信用卡的逻辑,无需额外兼容

内容的提问来源于stack exchange,提问作者Čamo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:39:00