diagram.mmd — sequence
Refund Processing sequence diagram

A refund is a merchant-initiated reversal of a previously captured payment. Unlike a chargeback — which is cardholder-initiated through the bank — a refund is processed voluntarily by the merchant and follows a simpler, less costly path through the payment network.

The refund lifecycle starts when a customer requests a return or cancellation. The merchant's system (or a support agent) triggers a refund against a specific original transaction ID. The payment gateway receives the refund request, validates that the original transaction exists and was captured (not just authorized), and checks that the refund amount does not exceed the captured amount. Partial refunds are supported — a merchant might refund only one item from a multi-item order.

The gateway submits a credit instruction to the acquirer referencing the original transaction. The acquirer routes this through the card network as a credit transaction. The card network then credits the issuing bank, which posts the credit to the cardholder's account. The cardholder typically sees the refund in their statement within 3–10 business days, depending on the issuer's processing cycle.

It is important to understand the timing: the acquirer funds the refund from the merchant's settlement account immediately (or batches it), while the actual credit to the cardholder may take several days to appear. This creates a window where the merchant has disbursed the funds but the customer hasn't yet seen the credit — a common source of support tickets.

Refunds bypass the fraud and authorization systems used for new charges. They cannot be declined the way charges can (though they can fail if the original transaction is not found or the card account is closed). For disputed transactions that escalate to formal bank disputes, see Chargeback Handling. Refunds affect settlement calculations covered in Payment Reconciliation.

Free online editor
Edit this diagram in Graphlet
Fork, modify, and export to SVG or PNG. No sign-up required.
Open in Graphlet →

Frequently asked questions

Refund processing is the merchant-initiated reversal of a previously captured payment. The merchant triggers a credit against the original transaction ID; the gateway routes it through the acquirer and card network back to the issuing bank, which posts the credit to the cardholder's account.
The merchant submits a refund request referencing the original transaction. The gateway validates that the transaction was captured and the refund amount is within limits, submits a credit instruction to the acquirer, which routes it through the card network to the issuing bank. The cardholder sees the credit within 3–10 business days.
A refund can fail if the original transaction ID is not found, the refund amount exceeds the captured amount, the card account has been closed, or the gateway has already processed a full refund against the same transaction.
Common mistakes include not tracking the timing gap between acquirer disbursement and cardholder credit (causing unnecessary support tickets), attempting to refund authorized-but-not-captured transactions (use void instead), not reconciling refunds in a different settlement window from the original charge, and processing refunds as new charges rather than credits.
mermaid
sequenceDiagram participant Customer participant Merchant participant Gateway as Payment Gateway participant Acquirer as Acquirer Bank participant Network as Card Network participant Issuer as Issuing Bank Customer->&gt;Merchant: Request refund (order ID) Merchant->&gt;Gateway: POST /refunds (original transaction ID, amount) Gateway->&gt;Gateway: Validate original transaction exists and was captured Gateway->&gt;Gateway: Check refund amount <= captured amount Gateway->&gt;Acquirer: Submit credit instruction Acquirer->&gt;Network: Route credit transaction Network->&gt;Issuer: Credit cardholder account Issuer->&gt;Issuer: Post credit to account (3-10 business days) Issuer-->&gt;Network: Credit confirmed Network-->&gt;Acquirer: Settlement updated Acquirer-->&gt;Gateway: Refund processed Gateway-->&gt;Merchant: Refund confirmation + refund ID Merchant-->&gt;Customer: Refund confirmation email
Copied to clipboard