Trace simulated card charges with OpenTelemetry and Jaeger
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
What this workflow does
This workflow has 8 nodes and runs when an HTTP POST request hits its webhook URL. It uses only n8n's built-in nodes.
How it runs
Trigger: When an HTTP POST request hits its webhook URL.
- Validate Amount (If): checks a condition and branches into true / false
- Normalize Request (Edit Fields (Set)): sets 4 fields: requestId, amountCents, currency…
- Reject Request (Stop and Error): stops the run with an error
- Charge Card (If): checks a condition and branches into true / false
- Decline Charge (Stop and Error): stops the run with an error
- Capture Charge (Edit Fields (Set)): sets 2 fields: chargeId, status
- Respond (Respond to Webhook): sends the response back to the webhook caller
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (5)
- Webhook
n8n-nodes-base.webhook - Respond to Webhook
n8n-nodes-base.respondToWebhook - If
n8n-nodes-base.if - Stop and Error
n8n-nodes-base.stopAndError - Edit Fields (Set)
n8n-nodes-base.set
From the author
Quick overview This workflow simulates a card charge so you can send n8n's OpenTelemetry spans to a local Jaeger collector and compare a successful run with a deliberate failure. It needs no LLM credential. It is Exercise 3 from the n8n Production AI Playbook…