Skip to main content
Alvin QuachFull Stack Developer
HomeProjectsExperienceBlog
HomeProjectsExperienceBlog
alvinquach

Full Stack Developer building systems that respect complexity.

Open to opportunities

AQ

Projects

  • All Projects
  • Hoparc Physical Therapy
  • OpportunIQ
  • Hoop Almanac
  • SculptQL

Knowledge

  • Blog
  • Experience
  • Interview Prep

Connect

  • Contact
  • LinkedIn
  • GitHub
  • X

Resources

  • Resume
© 2026All rights reserved.
Back to Blog
March 5, 2026 1 min read

Webhook Processing: Never Process Inline

Deep Dive
Depth: ●●○○○
Share:

Store → Enqueue → Process. How I built async webhook handling with Inngest that returns 200 in <1s with per-step retry.

The Problem

Square expects 200 within 10s. Processing payment.completed involves 5-7 external API calls. Timeout → retry → duplicate processing.

The Architecture

Receive + HMAC verify → idempotency check → store raw event → enqueue to Inngest → return 200 (<1s). Inngest processes asynchronously with per-step retry. Non-fatal try* side effects never block the core status write.

Related Projects

T Creative Studio

Share

Share:

Explore more

ProjectsExperienceRequest a call

Importance

★★★★☆