I think you're going to need a custom solution. It's easy enough to set up an LN invoicing system e.g. btcpayserver, but you will need a web interface for users to input their pubkey, validation, check whether invoice is paid, and keep a simple database of pubkey-balance records that you update as the balance is used.
I can't imagine this exists out of the box anywhere, yet...
But nostream relay must have something similar since they do tie invoices to pubkeys. I don't think they keep tabs on balances per pubkey, and they use ZBD (KYC service IIUC) instead of self hosted btcpayserver.