Now that StraighTalk is a supported carrier for the CDMA iPhones, they do not sell SIMs for iPhones on their GSM network.
Even if they did, if the phone was not unlocked by AT&T, it will not work on the StraightTalk network.
Either sign up for service with AT&T, or have the original owner of the phone request an unlock from AT&T.
iPhones locked to ATT do NOT need to be unlocked to use the StraightTalk ATT sims. These phones will be recognized on the network once the sim is inserted and the APN settings are input per the included instructions. I have done this with OG iPhone, iPhone 3GS, iPhone 4 and iPhone 4S (as well as an LG Android phone) - all locked to ATT.
As far as a reputable retailer, unfortunately, I can not recommend any. Some Walmarts are rumored to still sell the kits that have the ATT regular and micro SIMs, but information is flaky at best. Anywhere else will be someone who bought them from Walmart and is reselling them. I would suggest buying it from somewhere (amazon or ebay) using your credit card and if the SIM doesn't work, dispute the charge using your credit card company. These SIMs will probably not return to ST so it's really a situation you'll have to figure out on your own.