Skip to content

feat(backend): harden Payment Session Validator and Merchant Settings… - #1588

Merged
emdevelopa merged 2 commits into
emdevelopa:mainfrom
LawalRahman:feature/be-payment-session-validator-and-merchant-settings-hardening
Sep 26, 2026
Merged

emdevelopa merged 2 commits into
emdevelopa:mainfrom
LawalRahman:feature/be-payment-session-validator-and-merchant-settings-hardening

Conversation

@LawalRahman

Copy link
Copy Markdown
Contributor

… & API Key Service

Closes #1449
Closes #1450
Closes #1451
Closes #1482

… & API Key Service

- Retry transient payment session persistence failures with full-jitter
  exponential backoff; never retry validation/constraint errors, and treat a
  duplicate key on a retry as an already-persisted session (emdevelopa#1449)
- Add distributed per-(merchant, Idempotency-Key) session lock using Redis
  SET NX PX with compare-and-delete release, in-process fallback, and an
  idempotency replay check inside the lock; concurrent twins get 409 (emdevelopa#1450)
- Add integration and stress test suite for the session pipeline, including
  multi-node concurrency and fault injection (emdevelopa#1451)
- Sanitize merchant settings/API key payloads (prototype-pollution keys,
  control chars, size limits) and enforce strict schemas, webhook header
  rules, and bounded API key expiry, with service-level guards (emdevelopa#1482)

Closes emdevelopa#1449
Closes emdevelopa#1450
Closes emdevelopa#1451
Closes emdevelopa#1482

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 26, 2026

Copy link
Copy Markdown

@LawalRahman is attempting to deploy a commit to the Emmanuel's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Sep 26, 2026

Copy link
Copy Markdown

@LawalRahman 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

@emdevelopa
emdevelopa merged commit 8abc5ec into emdevelopa:main Sep 26, 2026
1 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment