I recently received a request from my company's customer care department to make this possible since they are facing requests coming from users that don't renew their payment methods. Admittedly, we should remind users that their methods will soon be expiring but I'd be against automatically deleting user data. This was my answer:

"We can't and shouldn't automatically delete user data against their will, even if that data is obsolete. The best we can do is remind them a while in advance that their card will be expiring, and they need to introduce a new one otherwise they will experience a degraded service. The user should feel in charge of their data and have enough freedom and control to manipulate them. We should provide them with timely prompts about how their data will affect their experience with our app when necessary."

What do you think? Beyond just respecting user expectation is there also a legality aspect to this?

  • You store customer payment information? If so, this could land you in a lot of trouble. I.e. big fines and possibly even prevented from providing your services in the future. I guess it depends on which country you are based in. If you are storing card information, I strongly urge you to do some research into the legality of that and worry less about your actual question.
    – musefan
    May 25, 2022 at 11:03
  • What do you mean? We store the payment methods provided by the user for the transactions needed in the app. Similarly to how you add a payment method to use Uber and the app 'stores' it, so you don't have to provide the same information over and over again.
    – Kate
    May 25, 2022 at 12:43
  • I guess musefan is concerned, because storing payment information comes with a huge pile of regulations, especially regarding IT security, maybe even a necessary accreditation. Even big companies often outsource this data management to third-party services.
    – Andy
    May 25, 2022 at 12:48
  • I don’t know about legal aspects of deleting user provided payment information, but simply informing users beforehand goes a long way in user experience. Your service won’t be the only one degraded once the user’s card expires, and if you make them aware of that in time, you gain some bonus points in experience (:
    – Andy
    May 25, 2022 at 12:49
  • 1
    Thank you for your comments. Just to clarify we aren’t storing the payment details on our on own infrastructure. We use a third party service for this so we are fully legally compliant. What we show in the app is simply minimum information related to the user’s payment method according to the integration we have in place with the payment service provider (e.g. VISA ending in *1234).
    – Kate
    May 26, 2022 at 15:48

1 Answer 1


You are correct, payment information should not be removed simply because it has expired.

To quickly address the comments above – there are ways to show the user enough information about a payment method without crossing into storing/revealing problematic info (card type and last 4 are typically fine in the USA, at least). I'll assume your security team is handling how to keep the payment info secure, maybe you're using something like tokens with your payment provider.

Why it's a bad idea to delete expired payment info:

  1. Users are probably not in your application every single day of the year. The card might expire on a day when they're not around to update it. Or, a card might just start declining when it's maxed out. If you remove the payment information immediately, the user will feel like they're being punished.
  2. People don't remember things. They might have forgotten which card was associated with the billing transaction, and might have to go through old credit card statements to find out. This happens a lot with corporate credit cards. Major hassle!
  3. Does your company like selling upgraded accounts? Does it have conversion goals? This is a point where you want to be as frictionless as possible. If the customer just needs to update the expiration date, just let them do that without having to start over from step 1. Because if it's a pain to upgrade, they often won't.
  4. If you're removing that payment info from the entire system, what happens to other parts of the system that might reference it, like (for example) past invoices or payment history? Now you have to build in logic to find all those null references and work around them.

Bonus reason: Allowing users to recover from errors is one of the ten usability heuristics.

A better approach would be:

  • Warn the user when their account is about to be downgraded because of an expiring form of payment.
  • Show a banner when they login that takes the user directly to the payment page to make an update. Also briefly explain what they can expect until their payment is restored.
  • Keep the expired forms of payment and make it extremely visually obvious to the user that they're non-working. Don't allow them to be selected on checkout.
  • 1
    Thank you so much for your detailed reply! Fully agreed :)
    – Kate
    May 26, 2022 at 15:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.