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

Stripe:如何通过单笔卡片交易确认多订阅对应的Payment Intents支付

单个客户多订阅的单笔卡片支付确认方案

Stripe文档里讲了怎么给单个客户创建多个订阅,但没说明如何用单笔卡片交易确认这些订阅生成的多个Payment Intents,这里给你一套可行的实现方案:

核心思路

复用已验证的客户支付方式,通过后台批量确认多个Payment Intents,无需用户重复输入卡片信息。

具体步骤

  • 第一步:完成支付方式的验证与关联
    先给客户创建并确认一个Setup Intent,或者在创建第一个订阅时完成卡片支付的确认,确保支付方式已被Stripe验证并绑定到客户账户。示例代码(Node.js):

    // 创建Setup Intent
    const setupIntent = await stripe.setupIntents.create({
      customer: 'cus_你的客户ID',
      payment_method_types: ['card'],
    });
    // 前端调用stripe.confirmCardSetup完成卡片验证,获取已验证的payment_method ID
    
  • 第二步:批量确认Payment Intents
    拿到所有订阅生成的Payment Intent ID后,用同一个已验证的支付方式,以离线会话(off_session)模式批量确认支付:

    // 假设你已收集到多个Payment Intent的ID
    const paymentIntentIds = ['pi_XXX1', 'pi_XXX2'];
    // 批量确认支付
    const results = await Promise.all(
      paymentIntentIds.map(piId => 
        stripe.paymentIntents.confirm(piId, {
          payment_method: 'pm_已验证的支付方式ID',
          off_session: true,
          confirm: true
        })
      )
    );
    

关键注意事项

  • 确保支付方式支持多次扣费(绝大多数信用卡都支持),且客户账户余额充足。
  • 要处理支付失败的情况:如果某笔Payment Intent扣费失败,需根据错误类型做重试逻辑,或者通知客户手动处理。
  • 也可以在创建订阅时直接指定已验证的支付方式,让Stripe自动尝试扣费,不过这种方式需要确保支付方式已设置为客户默认,或者在订阅创建时明确传入payment_method参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 12:37:17