Payment systems often look simple when everything is working. A user initiates a payment, the provider processes it, a webhook arrives, and the application updates the corresponding subscription, order, invoice, or wallet. But servers go down, webhooks arrive late, workers fail, and requests time out after money has already moved. When that happens, the provider may have the correct payment state while your application does not.

Reconciliation is how a payment system discovers and repairs those gaps. This article explores why webhooks are not enough, how provider payments can be matched to internal records, how to handle out-of-order states, and how to build a safe, idempotent reconciliation flow.

Table of Contents

Payment Processing Failure Scenarios

What Reconciliation Means in Payment Systems