I never did layaway - I always just managed it other ways.
When she was little, I got away with just telling DD that packages were household items, a gift for her grandparents/aunts/uncles/cousins/etc or something I needed for work. I never opened packages in front of her so she would just sort of shrug it off. I have a separate "junk" room that she's not allowed into where I would just throw all the packages into as soon as they came, and I would then wait to open them until after she went to sleep. I admit it helped that I would buy things way ahead of Christmas so she didn't necessarily have that on her mind when the packages came. This approach worked well for years and years.
But now that DD is 16 and more aware of my advance shopping habits, if there is a package I really want to hide from her I just have it rerouted to the FedEx or UPS stores down the street and pick them up there. If you download the FedEx and UPS apps, you can do that for free from them. But honestly, I don't really do that too often - usually only if I think she might be able to tell what's in the package from the packaging. Generally, I just tell her it's none of her business what are in the packages and still throw EVERYTHING (for her or not) into the junk room until I can open them privately. I shop online a lot - so much so that our FedEx guy recognized us at the store a few weeks ago and stopped to say hi LOL - so she knows all of the packages can't be for her but she knows some of them probably are. But on any specific package she has no idea and she just lets it go...
(USPS also has an app but I don't know if they allow you to hold a package for pickup at the post office - I've never tried.)