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

基于Stripe实现单次授权(3D Secure)下的多次支付方案问询

解决方案:基于Stripe SetupIntent + 递增授权实现无大额冻结的按分钟计费

针对你这种金额不确定的按分钟计费场景,推荐采用SetupIntent预验证支付方式 + PaymentIntent递增授权的方案,既避免大额初始冻结,又只需要一次3D Secure验证:

核心思路

  1. 先通过SetupIntent完成用户卡片的验证(含3DS),将支付方式绑定到Stripe Customer对象,后续交易无需重复验证。
  2. 初始创建小额额度的PaymentIntent完成授权(比如1元,覆盖最低消费)。
  3. 随着用户消费时长增加,通过递增授权接口逐步提升PaymentIntent的授权额度,每次递增无需再次触发3DS。
  4. 服务结束后,捕获实际消费的总金额,释放未使用的授权额度。

具体实现步骤(Python代码)

1. 创建SetupIntent并绑定支付方式

import stripe.api_resources as api

# 先创建或获取已有的Stripe Customer
customer = api.Customer.create(email="user@example.com")

# 创建SetupIntent,用于验证卡片并绑定到Customer
setup_intent = api.SetupIntent.create(
    customer=customer.id,
    payment_method_types=["card"],
    usage="off_session"  # 标记为离线会话,后续可无需用户交互
)

# 前端引导用户完成SetupIntent的确认(含3DS验证)
# 验证完成后,支付方式会自动绑定到Customer

2. 创建初始小额授权的PaymentIntent

# 获取已绑定到Customer的支付方式(假设取第一个)
payment_methods = api.PaymentMethod.list(customer=customer.id, type="card")
payment_method_id = payment_methods.data[0].id

# 创建初始小额授权的PaymentIntent,金额单位为分(比如1元=100分)
payment_intent = api.PaymentIntent.create(
    amount=100,
    currency="cny",  # 根据你的业务币种调整,比如usd
    customer=customer.id,
    payment_method=payment_method_id,
    confirm=True,
    off_session=True,  # 离线会话,无需用户再次交互
    capture_method="manual"  # 手动捕获,后续统一处理
)

3. 递增授权额度(按分钟计费时调用)

当用户消费增加,需要提升授权额度时:

# 计算需要递增的金额(比如每分钟消费5元,即500分)
additional_amount = 500

# 调用递增授权接口,提升PaymentIntent的授权金额
updated_payment_intent = api.PaymentIntent.modify(
    payment_intent.id,
    amount=payment_intent.amount + additional_amount
)

注意:递增授权有额度限制,具体以Stripe对应币种的规则为准,一般单次递增不超过初始授权额度的一定比例,总授权额度不超过卡片限额。

4. 最终捕获实际消费金额

服务结束后,计算实际消费总额amount(单位分),执行捕获:

# 捕获实际消费金额
captured_intent = api.PaymentIntent.capture(
    payment_intent.id,
    amount_to_capture=amount
)

# 未使用的授权额度会自动释放

方案优势

  • 仅需一次3D Secure验证,避免多次验证打扰用户。
  • 初始授权额度极低,不会给用户造成资金压力。
  • 按消费进度动态提升授权额度,匹配实际计费场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 14:20:05