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

调用Stripe capture接口捕获Payment Intent时intent参数类型错误如何解决?

你遇到的报错和transfer_data字段的语法没有关系,错误是由你调用stripe.paymentIntents.capture方法的参数传递方式不符合Stripe Node.js SDK的要求导致的。

Stripe的paymentIntents.capture方法的第一个入参要求直接传入Payment Intent的ID字符串,第二个参数才是包含捕获金额、转账配置等信息的配置对象。你现在把ID也放到了配置对象里,导致第一个入参整体是个对象,不符合SDK的参数类型要求,就触发了报错。

以下是修正后的代码示例:

const intent = await stripe.paymentIntents.capture(
  paymentIntentId, // 第一个参数直接传入Payment Intent的ID字符串
  {
    amount_to_capture: finalAmount,
    transfer_data: {
      destination: connectedAccountId
    }
  }
);

额外校验点:

  • 确认paymentIntentId本身是字符串类型,不是未处理的对象格式
  • 部分金额捕获时,finalAmount的数值不能超过创建Payment Intent时设置的原始金额,单位需要和原始金额保持一致,为对应货币的最小单位(如人民币为分、美元为美分)
  • 确认你的Stripe Node.js SDK为最新稳定版本,避免旧版本存在的接口规则差异

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 21:48:04