Hello all
Long time, no see! Can you believe I kinda forgot this great board existed?

But now I could really use some great advice.
I'll try to keep it short:
For some years now I have hosted an annual Christmas party. I invite my friends, and there is both a "hard core" of long-time friends and some newer additions. Everyone gets along great socially.
My issue now is that I am very disappointed with a few of my friends' behavior at the last party, and this has made me decide to change the conditions.
As it has been until now, I have hosted and planned and paid for everything. The usual standard in my group of friends is to do these parties potluck-style, but I like to do that "little extra" in my hosting.
The last two years, I have held the party in a kind of community hall where you have to pay a rental fee - I have informed my guests/friends
in the invitation that if they choose to come to the party, I would ask them to contribute to the rental of the room. So it's not like I have sprung this extra charge on them in a "by the way"-style.
The amount they have to pay is equal to about 10 dollars - so in no way a fortune. And if this amount is a problem, they know up front and can choose not to participate.
The first year it was no problem, but this (last) year I am so very disappointed with everyone's failure to pay.
The party was on Dec. 8, and I still need payment from more than half of the guests!
I told them they could pay beforehand by bank transfer or just give me cash at the party.
I am especially disappointed in two of my friends, let's call them Jane and John.
Jane "always" has problems paying. She doesn't have a lot of money, I know this, but she is also very scatterbrained and simply forgets. She is the type who can be surprised by the fact that she should probably buy a birthday present more than ten minutes before the party begins, etc.

I have reminded her about the payment several times, and she keeps making excuses - my account number is wrong (it isn't), her bank made a mistake, etc.
John is the type who at the end of the month is always complaining that he has no money for food - yet he still tells me, both in person and on FB, that he has now bought a new TV or books on Amazon for hundreds of $$, so it is clearly a question of prioritizing his money. Which is his choice - but when he can't pay me a mere ten bucks, it grated my nerves to read just ten minutes ago that he just bought a new Soda Stream ...

So!
My question is this:
How can I announce that next year, the party terms will be different without "outing" the people whose behavior is the reason for the change? I want to make it a potluck next time, so that there's no money between us.
Alternatively, I may decide to just not invite Jane and John, since this is not the first and only social offence they have committed ... but then
how can I reply when they ask me why they haven't yet received an invitation to my annual Christmas party? They will ask, and just giving a "standard" response won't work with friends, I think. Nor do I want to lie and say I won't be hosting a party at all.
I know that when you loan people money, including paying in advance and letting them owe you, that you should always be prepared for not getting the money after all. But I'm still really disappointed in my friends for standing me up like this ... considering they get free food, beverages and entertainment and can't even be bothered to pay me a small amount to cover a minimum of my expenses.