Skip to content

feat(webhooks): add signed webhook delivery with retries#651

Open
Olasunkanmi975 wants to merge 5 commits into
Pulsefy:mainfrom
Olasunkanmi975:feature/signed-webhook-delivery
Open

feat(webhooks): add signed webhook delivery with retries#651
Olasunkanmi975 wants to merge 5 commits into
Pulsefy:mainfrom
Olasunkanmi975:feature/signed-webhook-delivery

Conversation

@Olasunkanmi975

Copy link
Copy Markdown
Contributor

##closed #599

Summary

Implements reliable webhook delivery for verification results with HMAC request signing, exponential retry behavior, and dead-letter recording for failed deliveries.

Changes

Webhook Delivery

  • Added outbound webhook delivery for verification results
  • Preserved existing verification flow

Security

  • Added HMAC-SHA256 request signing
  • Configurable webhook secret
  • Signature included in outbound request headers
  • Secrets excluded from logs

Reliability

  • Implemented exponential backoff retry policy
  • Configurable maximum retry attempts
  • Retries limited to retryable failures

Dead-Letter Handling

  • Persisted failed deliveries after maximum retry attempts
  • Recorded payload, endpoint, attempt count, timestamp, and failure reason
  • Prepared failed records for future replay

Testing

Covered:

  • HMAC signature generation
  • Successful delivery
  • Retry behavior
  • Exponential backoff
  • Maximum retry attempts
  • Dead-letter persistence
  • Retryable vs non-retryable failures
  • Signature header verification

Behavior

No changes to existing verification logic beyond reliable webhook delivery.

@vercel

vercel Bot commented Jun 26, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the Cedarich's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jun 26, 2026

Copy link
Copy Markdown

@Olasunkanmi975 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Olasunkanmi975

Copy link
Copy Markdown
Contributor Author

Review this and approve maintainer

@Olasunkanmi975

Copy link
Copy Markdown
Contributor Author

Hi maintainer, please review for approval

@Cedarich

Copy link
Copy Markdown
Contributor

@Olasunkanmi975

@Olasunkanmi975

Copy link
Copy Markdown
Contributor Author

@Cedarich HI MAINTAINER CONFLICTS RESOLVE PLEASE REVIEW MY PR

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.

Add Signed Callback Delivery to Backend (Webhook Client)

2 participants