One banner, one clear fix

When a subscription's renewal fails, the contract page now tells a merchant exactly why, instead of a generic failure notice. The banner names the failure in plain terms, for example a declined card, an out-of-stock product, or a store payment setting, and shows how many billing cycles have gone unpaid and the total amount involved.
Each failure class carries its own matching action. An out-of-stock failure offers a direct link to restock the product in Shopify. A store-level payment setting issue links to the store's payment settings. If Payment recovery is off for the shop, the banner offers to turn it on; if it's already on, the banner links straight to the recovery status for that contract. Contact support remains available as a second option under every failure class, for whatever the self-serve action doesn't resolve.
Nothing about how renewals are retried has changed; this only changes what the merchant sees and can do directly from the banner. The contract page itself was also reorganized behind the scenes as part of this change, with no effect on how it behaves.
This is live now in the merchant admin, on every subscription's contract page.