Skip to content

feat: implement webhook event delivery system - #166

Merged
heymariam merged 5 commits into
Dorisio:mainfrom
Daveamhs:feat/backend
Oct 6, 2026
Merged

heymariam merged 5 commits into
Dorisio:mainfrom
Daveamhs:feat/backend

Conversation

@Daveamhs

@Daveamhs Daveamhs commented Sep 30, 2026 •

Copy link
Copy Markdown

Summary

Implements an event-driven webhook delivery system with event publishing, subscriptions, HMAC signature verification, retry handling, delivery tracking, and dead-letter queue support.

Changes

  • Added versioned webhook event schema
  • Added support for:
    • tip.created
    • creator.verified
    • payment.completed
  • Added webhook event filtering and subscriptions
  • Added HMAC SHA-256 webhook signatures
  • Added timing-safe signature verification
  • Added persistent webhook delivery tracking
  • Added BullMQ-based webhook delivery
  • Added exponential backoff retry handling with a maximum of 5 attempts
  • Added dead-letter handling for failed webhook deliveries
  • Added webhook endpoint testing support
  • Added Prisma migration for webhook event delivery
  • Integrated webhook events with payment and creator verification flows
  • Added and updated webhook unit/integration tests

Testing

Verified locally with the complete test suite:

  • 23 test files passed
  • 175 tests passed
  • Webhook service tests passed
  • Webhook route tests passed
  • Webhook event/signature tests passed
  • Payment service tests passed
  • Creator verification tests passed
  • Tip flow integration tests passed
Test Files  23 passed (23)
Tests       175 passed (175)

Closes #19

@heymariam

Copy link
Copy Markdown
Contributor

@Daveamhs well done and thanks for contributing, resolve the conflicts so we can check and merge

@heymariam

Copy link
Copy Markdown
Contributor

@Daveamhs also close this pr with the right # number

@heymariam

Copy link
Copy Markdown
Contributor

@Daveamhs close this pr with the "closes #number"

@Daveamhs

Daveamhs commented Oct 5, 2026

Copy link
Copy Markdown
Author

@Daveamhs close this pr with the "closes #number"

Done

@heymariam
heymariam merged commit 61e8281 into Dorisio:main Oct 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Webhook & Event-Driven Architecture Setup

3 participants