Feature Requests
Share ideas, discuss and vote on requests from other users in community

Add support for Stripe "Smarter Saved Cards" to Automatically Update CC Number and/or Exp Date

ScottN shared this idea 1 month ago
Under Consideration

The Stripe payment gateway service (which WHMCS supports) has an awesome feature called "Smarter Saved Cards" that will automatically update a customer's card, if the bank replaces the card (new card number), or even if just the expiration date has been updated. You can read more about this feature here:


As their site indicates, "over half of the cards stored with Stripe in the last year would stop working if they weren’t updated."

This would be very helpful to hosting providers, as we all know that we sometimes lose customers simply because their credit cards expire or stop working for charging fees. I believe we could increase customer satisfaction and reduce churn, by implementing "Smarter Saved Cards"

Stripe says "The customer.source.updated webhook will fire if your customers’ info changes." -- perhaps this is something that WHMCS could be looking for, and also update the info in WHMCS, such as expiration date, or last 4 of the card?

Thanks for considering this request.

- Scott

Comments (2)


Example: I just had a customer contact me... they said they received a new Visa card, with a new card number, and they asked how to log in and update the card. I logged into Stripe, and, sure enough, they ALREADY KNOW about the new card, and it's ALREADY UPDATED! The customer would not, technically, need to do anything, if we had "Smarter Card" integration. Here is a screen shot of what it looks like, when logged into Stripe:


I think we just need WHMCS to create a script in /modules/gateways/callback/ to listen for Stripe to tell us about a card update (and point Stripe to that 'webhook' location)... then take that info (which includes the last 4 of the card, the month and year) and update the info we store in WHMCS. The token doesn't change.... we just need to update the expiration month/year, and perhaps the last 4 of the card.