~learn.
0:00 / 1:24
Side quest 11 · IRCTC

The payment timed out. Did you pay?

transcript

You've got a Tatkal seat. You pay. The screen spins. Timeout. Were you charged? Right now, nobody knows. Not even the system.

Guess it failed, and give the seat back? If you were charged, you're paying for someone else's seat. Guess it worked, and issue the ticket? If the money never moved, that's a phantom PNR.

Here's the move. A timeout isn't a failure. It's unknown. So unknown gets its own state.

Paid means a PNR. Failed means release the seat and refund. A timeout goes here instead. Deemed pending. The 5 minute hold timer leaves it alone. If you paid, your seat must still be there. It leaves only when the gateway says paid, or failed.

A reconciliation worker asks the gateway what really happened. Same attempt ID. Paid? PNR confirmed. Failed? The seat goes back. You get a refund and a clear message. Still unknown? Ask again in 10 minutes.

Every captured rupee ends as a PNR or a refund. Within 30 minutes. No phantom PNR. No lost rupee.

When money is in doubt, don't guess. Park it, and reconcile. Uncertain payment is a state. Not an error.

Full breakdown in the lecture.