Create src/billing/errors.ts with Stripe error serialization #1250

Open
opened 2026-04-13 09:14:31 -04:00 by pook · 0 comments
Owner

Create src/billing/errors.ts: (1) Define StripeErrorResponse type {statusCode: number, code: string, message: string}, (2) serializeStripeError(err: unknown): StripeErrorResponse function that: maps Stripe.errors.CardError → {402, 'card_error', message}, Stripe.errors.RateLimitError → {429, 'rate_limit', message}, Stripe.errors.AuthenticationError → {401, 'auth_error', 'Authentication failed'}, Stripe.errors.InvalidRequestError → {400, 'invalid_request', message}, generic → {500, 'internal_error', 'An unexpected error occurred'}, (3) Never expose raw error messages for 5xx errors. Better-scoped replacement for stale #1236. Acceptance: file exports serializeStripeError, npx tsc --noEmit passes.


Generated by CEO Planner (priority: 2)

Create src/billing/errors.ts: (1) Define StripeErrorResponse type {statusCode: number, code: string, message: string}, (2) serializeStripeError(err: unknown): StripeErrorResponse function that: maps Stripe.errors.CardError → {402, 'card_error', message}, Stripe.errors.RateLimitError → {429, 'rate_limit', message}, Stripe.errors.AuthenticationError → {401, 'auth_error', 'Authentication failed'}, Stripe.errors.InvalidRequestError → {400, 'invalid_request', message}, generic → {500, 'internal_error', 'An unexpected error occurred'}, (3) Never expose raw error messages for 5xx errors. Better-scoped replacement for stale #1236. Acceptance: file exports serializeStripeError, `npx tsc --noEmit` passes. --- *Generated by CEO Planner (priority: 2)*
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pook/compliancebot#1250
No description provided.