I'll address your edited story instead of the original as I think I can get to the point better there. Let's start with the golden rule:
You should do no technical work that is not providing customer value.
That sounds like something that has to have exceptions, but it's going to make you justify why you're doing the extra work.
With your story about Mastercard over visa, let's start with two stories (and I'm definitely making some assumptions about your system):
As a customer, I would like the site validation to accept Mastercard
numbers so I can enter my credit card number (I'm assuming number
As a customer, I want to be able to authenticate a transaction with my
Mastercard so I can use this type of payment method.
The first is independently releasable (though I wouldn't because you'd have a site that accepts the card and then can't process it). The second does the bare minimum to process that card. In my experience, this is probably adding an extra argument to a function and accounting for it in the call to the card processor.
With these two stories, you have your happy-path minimal feature. It will not have frills, like highlighting a Mastercard logo to indicate to the user it understands the card being used. It will also not have failed card handling. Again, the feature is releasable, but if you release it is a business decision. In most cases, you wouldn't because sometimes people's cards are declined and you want to handle that. On the other hand, maybe a big customer wants to make the largest purchase your site has ever had and releasing it means they can submit their order. Then, you probably would.
Now you've got all your frills and your decline handling. The declined card handling is time consuming, so you might break that down further. Instead of having a story that reads:
As a customer, I would like the site to give me a helpful message with
my card is declined so I know how to proceed.
you may instead of a number of stories like:
As a customer, I would like the site to indicate when the data I
entered is invalid so I know to correct the data and try again.
As a customer, I would like the site to direct me to contact my
financial institution if my card is declined due to suspension so that
I can correct the problem.
As a customer, I would like the site to indicate when my card was
declined for balance reasons.
The two advantages here are that 1) it breaks up the story and 2) it lets you prioritize your work. Also, if you look back at that golden rule, maybe you decide that the customer doesn't derive value from knowing that their card is suspended. If it has no value to the customer, cut that story out and let those decline codes fall out to a default decline response.