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

如何从Stripe JS的confirmSetup响应中获取支付方式详情?

解决Stripe confirmSetup直接获取payment_method详情的问题
  • 核心方案:在confirmParams中添加expand数组,指定展开payment_method字段,就能在返回的setupIntent里直接拿到完整的支付方式详情,无需额外调用API。之前扩展失败大概率是参数位置不对。

修改后的代码如下:

const form = document.getElementById("payment-form"); 
const stripe = Stripe('pk_test.....s');
form.addEventListener('submit', async (event) => {
  event.preventDefault();
  stripe.confirmSetup({
    clientSecret : "seti_...",
    redirect : "if_required",
    confirmParams : {
      return_url : "example.com/returnURL.php",
      // 添加expand参数展开payment_method
      expand: ['payment_method']
    }
  }).then(function(result){
    if(result.error){
      document.getElementById("error-message").textContent = result.error.message;
    }else{
      // 直接访问payment_method的详情
      const paymentMethod = result.setupIntent.payment_method;
      // 获取卡片信息(卡号后四位、品牌等)
      const cardDetails = paymentMethod.card;
      // 获取账单地址信息(姓名、地址等)
      const billingDetails = paymentMethod.billing_details;
      
      console.log('卡片信息:', cardDetails);
      console.log('账单地址:', billingDetails);
    }
  });
});
  • 注意事项:
    • expand是confirmParams的子属性,必须放在正确层级下才能生效。
    • 展开后的payment_method包含card和billing_details字段,具体可用字段可参考Stripe官方定义按需取用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 20:40:02