You can get 50' of thin line at the hardware store and tie a leash clip to it. If 50' is too long, just shorten the line. Don't call him to come unless he is on the long line so that he doesn't have the opportunity to disobey. Also, don't be afraid to give him a sharp pop on the line if he hesitates to come. When he starts coming towards you, squat and open your arms and use a silly, high pitch voiced to encourage him like, "Good come!" repeatedly. Then reward with food or toy, and praise and petting. Finally, have a release command so that he knows the expectation is over. You can do this informally by having him on the long line just walking around with him and letting him get the distance of the line from you. After a while when he is sniffing around or his attention is occupied with something other than you, give the come command with some assertiveness. If he doesn't come, pop the leash enough to get his attention and repeat come. But don't get into the habit of repeating commands over and over. If he absolutely refuses to come, reel him in assertively. Be consistent. I don't think people are often aware of how many repetitions of training a behavior is required for a dog to become reliable.
How old is this puppy again? I never give corrections to do with recalls with young pups, and i think for the most part they are so unnecessary. Puppies love fun, and they love us, so if we are fun for them there won't be any conflict and why should there be? I never call for anything that sucks. I don't call them for play being over, I don't call to come inside (same thing), ear cleaning, being put up, what else?
I call them for going OUT to play, special amazing treats, meals, basically anything they love. restrained recalls with high value rewards.
I have found that far fewer corrections or force is needed in the long run if there is a strong positive association to begin with. I prefer to train with as little force and corrections as I can. It usually does become necessary at some point, but I wouldn't pop an untrained puppy.
If I need them for anything they aren't going to like, I just go get them and add in a tasty treat if needed so they don't resent me coming to get them. On the RARE occasion someone decides to run from me I let them know that will never be tolerated but they are only in trouble until they turn themselves in and as soon as they stop running I flip back into you're the best puppy in the world.
Look how hard they work for things that they want--I want them to WANT to do what I want them to do, and want it bad, so I have all their effort and enthusiasm on my side, not vise versa.
When I think they can succeed because they've trained that far, I do start calling out of fun things as a training exercise only, so I am prepared to follow through and prepared to release them back to the great thing as part of their reward. If I don't have anything higher value than what they were called off of, then they are released back to it as a training exercise.
As they grow up we gradually enter the real world where yes, i will call you for things that suck and you will have to come anyway and they will. If a bit of correction or follow thru is needed as we get into the world of "adult" recalls then they get that...but like I said I find way fewer corrections and less force if you do a strong positive foundation. If they refuse a recall it's because whatever else they are doing is more rewarding than you. That means you need to be more rewarding.