Scenario: A user's credit card expires and he misses to pay his recurring monthly fee. Two months later he updates his credit card and because the license never expired the system picks it up and continues to successfully charge his card on file for consequent periods, but unfortunately not for the previous.
And it's not clear how to charge for the missed payments with the "Payment failed (hard decline)" status. Any suggestions?
Edit: I had to delete my own answer:
It was not obvious for me that I needed to use Commerce Dunning module to re-charge for the missed payments.
after trying the Commerce Dunning module, because unfortunately for hard declines it only sends notifications without attempting to re-charge for the missed period even if a customer updated his credit card. Per description on https://www.drupal.org/project/commerce_dunning:
If it was a hard decline that led to the failure, the customer needs to update their credit card, so notifications regarding that are also scheduled.
So unfortunately it is still not clear how to collect payments for the missed period.