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

如何在Stripe测试环境中自定义模拟托管结账完成订单?

在Stripe测试环境自动化自定义托管结账订单的方案

方法1:通过Stripe API创建自定义Checkout Session并触发完成事件

这是最灵活的方式,能完全控制所有参数:

  1. 创建自定义Checkout Session
    使用Stripe API生成符合需求的会话,指定订单项、货币、关联账户等参数。以Node.js为例:
const stripe = require('stripe')('你的测试Secret Key');

const session = await stripe.checkout.sessions.create({
  mode: 'payment',
  currency: 'eur', // 指定货币
  line_items: [
    {
      price_data: {
        currency: 'eur',
        product_data: {
          name: '自定义商品',
        },
        unit_amount: 2999, // 金额(分)
      },
      quantity: 1,
    },
  ],
  payment_intent_data: {
    transfer_data: {
      destination: 'acct_xxx', // 指定关联账户ID
    },
  },
  success_url: 'https://your-test-domain.com/success',
  cancel_url: 'https://your-test-domain.com/cancel',
});

执行后会得到固定的session.id,所有参数均为预设值。

  1. 触发结账完成事件
    用Stripe CLI针对该特定会话触发事件,确保事件数据完全匹配自定义会话:
stripe trigger checkout.session.completed --event-payload '{"data":{"object":{"id":"'$SESSION_ID'"}}}'

替换$SESSION_ID为你刚创建的会话ID即可。

方法2:直接使用自定义Payload触发事件

若无需提前创建会话,可直接构造完整的Checkout Session JSON作为事件Payload,用CLI触发:

stripe trigger checkout.session.completed --event-payload @path/to/your-custom-payload.json

your-custom-payload.json需严格遵循Stripe checkout.session.completed事件结构,填入订单项、货币、关联账户ID、测试支付方式等你需要的所有字段。

方法3:端到端自动化测试(模拟真实用户操作)

如果需要覆盖完整的用户结账流程(含跳转Stripe托管页面、输入测试卡号),可使用Playwright或Cypress这类工具:

  • 导航到你的下单页面,触发Checkout跳转
  • 在Stripe托管页面自动填入测试卡号(比如4242 4242 4242 4242,过期日期填未来任意值,CVC填任意3位)
  • 自动提交支付,等待跳转回成功页面,同时监听webhook事件

这种方式最贴近真实用户场景,适合完整流程测试。

注意事项

  • 全程使用Stripe测试密钥,禁止使用生产密钥
  • 测试卡号可使用Stripe官方提供的测试卡列表,比如4242系列、4000 0000 0000 0002(模拟支付失败)等
  • 关联账户必须是测试环境中的账户ID,且已完成必要验证步骤

内容的提问来源于stack exchange,提问作者Dashiell Rose Bark-Huss

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 20:55:20