In Iowa you can buy a fishing license in person, at a license vendor, over the phone by calling 1-800-367-1188, or online at the Iowa DNR's website. Certain species, such as trout, require an additional stamp. Residents and non-residents under the age of 16 can fish without a license—likewise are residents currently enrolled in the armed forces.
Check out these Saint Charles, IA fishing resources: