You need to enable JavaScript to run this app. Stripe测试环境Postman创建PaymentIntent提示客户未输入支付方式及token传参错误
优惠活动
大模型
产品
解决方案
定价
更多

Stripe测试环境Postman创建PaymentIntent提示客户未输入支付方式及token传参错误

Stripe PaymentIntent创建异常的排查与修正方案

遇到的典型问题表现

  • 接口可正常调用,但Stripe Dashboard对应PaymentIntent状态为不完整,提示"The customer has not entered their payment method"
  • 尝试将卡Token直接作为payment_method参数传入时,返回参数校验错误,提示Token不能直接作为PaymentMethod使用

问题核心原因

你之前查阅的官方文档对payment_method参数的说明为:ID of the payment method used in this PaymentIntent,这明确了该参数的定位是已完成创建的PaymentMethod对象的唯一ID,无法直接接收卡Token这类临时凭证。
卡Token是前端Stripe组件收集敏感支付信息后生成的临时授权凭证,不属于正式的PaymentMethod实体,直接传入会触发规则校验错误。而PaymentIntent处于不完整状态的本质,就是创建流程中没有完成支付方法的关联绑定。

具体修正操作

  • 调整传参结构,不要在根级payment_method字段传入Token,改用payment_method_data嵌套字段完成支付方法的关联:
    • 传入payment_method_data[type]=card,声明当前关联的支付方式类型为银行卡
    • 传入payment_method_data[card][token],值为你拿到的卡Token(比如测试环境下的tok_visa)
  • 如果你是拆分测试流程:先创建PaymentIntent拿到client_secret,后续再单独调用确认接口完成支付,那么可以在创建接口阶段不传上述支付方法参数,等调用Confirm PaymentIntent接口时再传入对应结构的payment_method_data即可,完成后PaymentIntent就会从incomplete状态流转为支付成功状态。
  • Postman传参注意事项:表单编码模式下不要错把嵌套字段写平,payment_method_data[card][token]要作为独立键值对存在,不要和根级的payment_method参数混同。

常见踩坑提醒

  • 不要混用旧版Card Token接口和新版PaymentIntent的参数规则,新版流程已经不支持直接将Token作为PaymentMethod对象传入,必须通过payment_method_data完成转换关联。
  • 测试环境下无需使用真实卡信息,直接用Stripe提供的公开测试Token即可完成全流程验证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.03 11:27:05