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

借助Stripe API通过银行令牌创建支付方式技术咨询

实现方案(基于Stripe Financial Connect + OAuth)

完全可以实现你说的需求——通过Stripe OAuth授权获取银行账户信息,再用拿到的bank token创建可留存的支付方式用于入金转账,全程不用自己收集路由号/账户号。我之前做过类似场景,给你梳理下关键步骤:

  • 第一步:完成Stripe OAuth授权流程
    引导用户跳转到Stripe的OAuth授权页面,请求获取银行账户的访问权限(scope需包含read_write或对应银行账户的特定权限,具体看你使用的产品)。用户授权后,后端会拿到authorization_code,用这个code调用Stripe API交换得到access_token和refresh_token,同时就能获取到用户的银行账户相关凭证(和你当前拿到的bank token衔接)。

  • 第二步:用bank token创建可留存的PaymentMethod
    调用Stripe的PaymentMethod Create API,参数重点注意:

    • type设为us_bank_account(非美国账户对应调整类型)
    • token传入前端获取到的bank token
    • 必须指定customer参数(关联你的Stripe客户ID),这样PaymentMethod会被留存到客户名下,后续可重复使用
      示例代码(后端Node.js):
    const stripe = require('stripe')('你的API秘钥');
    
    const paymentMethod = await stripe.paymentMethods.create({
      type: 'us_bank_account',
      token: '前端传来的bank_token',
      customer: '你的Stripe客户ID',
    });
    
  • 第三步:验证PaymentMethod(按需)
    美国银行账户默认会触发微存款验证(几分钱的小额转账),用户确认金额后支付方式会变为verified状态;部分通过OAuth授权的合作银行支持即时验证,无需等待。只有验证通过的支付方式才能发起入金转账。

  • 第四步:发起入金转账
    用留存的PaymentMethod创建Transfer,具体API取决于你使用的Stripe金融产品(比如Connect入金或自定义金融账户转账)。示例:

    const transfer = await stripe.transfers.create({
      amount: 1000, // 单位:分
      currency: 'usd',
      source: paymentMethod.id,
      destination: '你的目标金融账户ID',
    });
    

关键注意事项:

  • 确保你的Stripe账户已开通Financial Connect或对应银行账户接入权限
  • OAuth授权的scope要准确,避免权限不足导致无法获取银行账户信息
  • 留存PaymentMethod时必须关联Customer,否则只能单次使用
  • 入金转账的金额、币种需符合Stripe规则和你的账户限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 01:38:23