Pokeballs are the reward for increasing trainer level. When your trainer level reaches to 12, Great Ball is unlocked and you get 20 Great Balls. When you trainer level gets to 20, you get 20 Ultra Balls.
Purchasing in the Shop
Poke Ball is purchasable in the shop. Great Ball and Ultra Ball are not purchasable currently in the shop.
The Price of Poke Ball in the Shop
Which is the Best way to get Poke Balls?
Visiting PokeStops is the Best
There is no limit for visiting same PokeStops. PokeStops you have already visited (purple-colored) become available (blue-colored) 5 minutes later. That means you can get Poke Balls by every 5 minutes. Since you can get Poke Ball from PokeStops for free, you do not need to buy it in the shop.