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

测试自动化中如何快速触发Stripe的balance.available webhook事件?

解决Stripe balance.available事件触发延迟的方案

以下几种方法可以跳过默认的1分钟等待,快速触发balance.available webhook事件:

1. 使用Stripe CLI直接创建事件

stripe trigger命令会模拟真实业务流程(比如等待结算周期),因此存在延迟。改用stripe events create命令可直接生成并发送事件,无需等待:

stripe events create balance.available \
  --api-version 2024-06-20 \
  --parameters "available[0][amount]=1000" \
  --parameters "available[0][currency]=usd" \
  --parameters "available[0][source_types][card]=1000"

你可以根据测试需求自定义amount、currency等参数,执行后事件会立刻推送到你的webhook端点。

2. 通过Stripe SDK在代码中创建测试事件

如果你的自动化测试是用代码编写的(比如Python/JavaScript),可直接调用Stripe Events API创建事件,完全集成到测试流程中:

Python示例

import stripe

stripe.api_key = "sk_test_你的测试密钥"
stripe.api_version = "2024-06-20"

# 构造balance.available事件数据
event = stripe.Event.create(
    type="balance.available",
    data={
        "object": {
            "available": [
                {
                    "amount": 1000,
                    "currency": "usd",
                    "source_types": {"card": 1000}
                }
            ],
            "connect_reserved": [],
            "livemode": False,
            "pending": [
                {
                    "amount": 0,
                    "currency": "usd",
                    "source_types": {"card": 0}
                }
            ]
        }
    }
)

JavaScript示例

const stripe = require('stripe')('sk_test_你的测试密钥');

stripe.events.create({
  type: 'balance.available',
  data: {
    object: {
      available: [
        {
          amount: 1000,
          currency: 'usd',
          source_types: { card: 1000 }
        }
      ],
      connect_reserved: [],
      livemode: false,
      pending: [
        {
          amount: 0,
          currency: 'usd',
          source_types: { card: 0 }
        }
      ]
    }
  }
});

执行代码后,Stripe会立即将事件发送到你的webhook配置端点,无任何延迟。

3. 直接模拟Webhook请求(最快方式)

如果测试仅需验证webhook处理逻辑,无需与Stripe API交互,可直接构造HTTP POST请求发送到你的webhook端点,完全绕过Stripe:

  • 按照Stripe的balance.available事件结构构造请求体
  • 若端点启用签名验证,需设置请求头Stripe-Signature(用测试密钥生成签名)
  • 发送POST请求到你的webhook URL

这种方法速度最快,适合单元测试或隔离测试场景。

注意:以上所有方法仅适用于测试环境(使用测试密钥),生产环境的balance.available事件由Stripe自动触发,无法手动干预。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 05:12:12