Stripe Webhook Replay Lab — 技能工具
v1.0.0Replay signed Stripe webhook payloads to a local or staging endpoint for idempotency and retry debugging.
详细分析 ▾
运行时依赖
版本
Initial release of Stripe Webhook Replay Lab: - Replay signed Stripe webhook payloads to a specified endpoint for idempotency and retry debugging. - Supports loading event data from a JSON file or inline input. - Generates valid Stripe-Signature headers with your webhook secret. - Allows customizing replay count, delay, timeout, and accepted HTTP status codes. - Prints per-attempt HTTP status, latency, and a pass/fail summary for debugging. - Exits successfully only if all replay attempts meet the success criteria.
安装命令
点击复制本土化适配说明
Stripe Webhook Replay Lab — 技能工具 安装说明: 安装命令:npx clawhub@latest install stripe-webhook-replay-lab
技能文档
Use this skill to replay the same signed Stripe webhook event multiple times against your endpoint and validate idempotency behavior.
What this skill does
- Loads a Stripe event payload from a JSON file or inline env var
- Generates valid Stripe
Stripe-Signatureheaders using your webhook secret (whsec_...) - Replays the exact same payload N times to simulate duplicate deliveries/retries
- Prints per-attempt HTTP status and latency with a pass/fail summary
Inputs
Required:STRIPE_WEBHOOK_URL(target endpoint)STRIPE_WEBHOOK_SECRET(Stripe endpoint secret used to verify signatures)
Payload source (choose one):
STRIPE_EVENT_PATH(default:fixtures/sample-checkout-session-completed.json)STRIPE_EVENT_JSON(inline JSON payload; overridesSTRIPE_EVENT_PATH)
Optional:
REPLAY_COUNT(default:2)REPLAY_DELAY_SECONDS(default:0)REQUEST_TIMEOUT_SECONDS(default:15)ACCEPT_HTTP_CODES(comma-separated exact HTTP codes accepted as success; default empty = any 2xx)
Run
STRIPE_WEBHOOK_URL=http://localhost:8000/webhooks/stripe \
STRIPE_WEBHOOK_SECRET=whsec_test_123 \
bash scripts/replay-stripe-webhook.sh
Force five duplicate deliveries with a small delay:
STRIPE_WEBHOOK_URL=http://localhost:8000/webhooks/stripe \
STRIPE_WEBHOOK_SECRET=whsec_test_123 \
REPLAY_COUNT=5 \
REPLAY_DELAY_SECONDS=0.2 \
bash scripts/replay-stripe-webhook.sh
Use inline payload JSON:
STRIPE_WEBHOOK_URL=http://localhost:8000/webhooks/stripe \
STRIPE_WEBHOOK_SECRET=whsec_test_123 \
STRIPE_EVENT_JSON='{"id":"evt_test","type":"checkout.session.completed","object":"event","data":{"object":{"id":"cs_test"}}}' \
bash scripts/replay-stripe-webhook.sh
Output contract
- Prints payload event id/type when available
- Logs each replay attempt: status code + elapsed milliseconds
- Exit
0if all attempts pass success criteria - Exit
1if any attempt fails or inputs are invalid