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

设置manual确认方式创建Stripe Payment Intent却直接成功是否正常?

Stripe同步收款PaymentIntent直接返回succeeded是否正常?

这种行为是完全正常的,原因如下:

  1. confirmation_method: 'manual'的实际作用
    这个参数是指定当支付需要额外验证(如3DS验证、银行授权等)时,必须通过手动调用confirmPaymentIntent接口完成确认;但如果支付方法本身不需要任何额外验证步骤(比如你使用的测试卡),Stripe会自动完成确认流程,直接将PaymentIntent置为succeeded状态。

  2. 从你的返回结果可以验证:

    • next_action: null:说明没有需要后续处理的验证动作
    • amount_received: 5999:已经全额收到款项
    • status: 'succeeded':支付流程已完成
  3. 测试场景的特殊性
    在Stripe测试环境中,大部分测试卡(如4242 4242 4242 4242)是无需额外验证的,所以会直接触发自动确认。如果想测试需要手动确认的场景,可以使用需要3DS验证的测试卡(如4000000000003220),此时创建PaymentIntent会返回包含next_action的结果,需要你后续完成验证后再手动确认。

  4. 代码逻辑的合理性
    你设置了confirm: true,意味着创建PaymentIntent的同时会立即尝试确认支付。当支付方法满足自动确认条件时,就会直接完成整个流程,这和confirmation_method: 'manual'的设置并不矛盾——后者只是定义"需要确认时的方式",而非强制要求必须手动触发确认。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 10:10:25