Well I guess that was the problem, the expiration time on that invoice is 24 hours. And for what I see from your other reply the invoice your server is generating is good for 100 blocks, or ~16.6 hours. Good thing your server is catching that!
But I think 24 hours must be the LND default invoice expiration time. Since LND is widely used and most apps don't let you set a pre-image for the invoice, you're likely to encounter this problem frequently unless you make it clearer in the user interface that a shorter expiration is required.