Customer portal now explains a missing payment method, instead of erroring
If a subscriber's contract has no saved payment method at all, the customer portal's payment-recovery page previously failed to answer, so the subscriber saw no banner and no way to understand what was wrong.
The portal now shows a "Payment failed" banner explaining that no card is on file, with instructions depending on how the shop's customer accounts are set up: sign in and add a card to the store account, or contact the store directly. There's no update-card button in this state, since there's no existing card to update. The subscriptions list also now shows the payment-failed notice for a contract in this state, rather than showing nothing.
This fix is live behind the same rollout as Subi's other recovery-rate improvements; it changes only what a subscriber sees when their contract has no payment method, not any charge, retry, or email behaviour.