Clicker training works well for this. Once he gets the idea, lengthen the time before you click and reward, then put it on cue and stop using the clicker. Fade the reward to intermittent. And do your training in a place with no distractions until he is pretty reliable. Then you need to proof it using distractions until he is pretty solid. It's still unlikely you will get 100% compliance when there is something very interesting to tempt him. They are not Border Collies! (I would be amazed if my Basenji managed a long down or long sit with me out of sight, without extensive practice, and even then…..)
I am assuming you know the basics of training this command. If not, I can elaborate. I do find it easier to teach something like "place" or "mat", so he has a spot to be at first, then teach "stay" at that location, then generalize the command to other places. I also like to use a less formal command (I use "wait") when I just require a momentary pause, and when I invoke "wait" I don't care if he stands, sits, or lies down, his choice. Usually with "stay" I give a position command first, e.g. "sit".