How to auto-renew/expire in-game subscription

I’m making a 30-day subscription for factions that stores the date the owner renewed/bought the faction in a datastore as os.time().

Since factions involve multiple players across multiple servers, I can’t simply check the difference between (os.time() and the last time renewed) when the owner joins the server, because the owner could just never play again and the faction will be active forever. If I check anywhere else, it would be checking for expiration in every server each member of the faction is in, so wouldn’t that overflow setasync if the faction expires?

Does anyone know how to do auto renewal or expiration?