Whether a catalog object or customer reached Stripe is recorded in two places #183

Open
opened 2026-10-06 21:25:13 +00:00 by cgalo5758 · 0 comments
Owner

Pushed products, prices and customers have a mapping with sync_status (pending, synced, stale) and outbox rows. When the outbox gives up, its row is dead_letter and the mapping stays pending. SyncProductToStripe (internal/server/operator_billing.go) searches core.outbox by JSON payload fields and retries with hand-written SQL; the readiness panel runs the same search. Nothing retries a customer.

Done when: one stored state says pending, synced or failed per object; retry is a query of the outbox's package, as RequeueDesiredState is in internal/integration; and the panel reads one place. Related: #80.

Pushed products, prices and customers have a mapping with `sync_status` (`pending`, `synced`, `stale`) and outbox rows. When the outbox gives up, its row is `dead_letter` and the mapping stays `pending`. `SyncProductToStripe` (`internal/server/operator_billing.go`) searches `core.outbox` by JSON payload fields and retries with hand-written SQL; the readiness panel runs the same search. Nothing retries a customer. Done when: one stored state says pending, synced or failed per object; retry is a query of the outbox's package, as `RequeueDesiredState` is in `internal/integration`; and the panel reads one place. Related: #80.
cgalo5758 added the
kind
design
area/billingarea/integrations
labels 2026-10-06 21:25:13 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wiki-cafe/member-console#183