There are many ways to teach a dog to sit and stay, as with any training, every dog responds to training differently, once you learn how your dog trains easiest, stick to that method.
It is never acceptable or necessary to hit a dog while training, the one thing I have learned is that my dog will respond to love much faster than to pain.
The only thing they learn when you hit them is to fear you, eventually any dog that is beaten will become aggressive, whether outright aggression like barking or passive aggression which can end up with you or someone else being bitten.
Training a puppy can easily be included in his play time, and he can become trained without really knowing that is what is happening to him.
I have always found that training a puppy to sit is easiest when I get down to his level, in other words on the floor with him. His favorite toy can be a wonderful teaching aid for him to learn this simple but important lesson.
When he comes up to you to get his toy, just raise it above his head, he will sit in order to keep his toy in sight. As he starts to sit down give him the sit command.
Do this frequently when he is playing and eventually he will learn to sit on command, with or without the toy. The next part of this lesson is teaching him to stay. While he is in the sit position, move around him, making sure he stays in the same position, tell him to stay, as he gets more comfortable with you moving around him, you can increase the distance from him as you continue to teach him to stay.
You have accomplished two things with this method of training, you have taught him to sit, and made his training time fun for both of you.