Coordination · Multiple choice

A consumer calls the payment provider to charge a card, then writes the message id to a "processed" table, then acknowledges. It crashes after the charge. What happens, and what fixes it?

hard Queues

Options

Why

A side effect outside your database cannot share a transaction with the "processed" record. Either the external system deduplicates (an idempotency key derived from the message id), or you record the intent first and check the provider's status before charging again.

Review this in your daily deck All cards in Coordination