Test cards cover the documented, known failure codes well. They don't cover the messier real-world cases: a partial refund that overlaps with an open dispute window, a vaulted card that expires in the middle of an active subscription, a dispute that comes in with incomplete evidence attached. Those show up for the first time once you're live, not before.
Any automation that acts on money, pausing access after a failed renewal, auto-routing a dispute, needs a deliberate go-live check, not just a passing sandbox test suite. The first real transaction it ever touches shouldn't also be the first one it's ever actually handled.