Allow 6 weeks to get the code - that code then is only valid for one month at your chosen embassy.
The embassy in Islamabad, just asked me if I had a code, then he checked through his big book of them and found mine.
I would only use companies who say you can pay after getting the code, i think one company says, pay when you arrive in Iran - just watch out for hoax companies... i met a girl who paided for hers and it wasnt at the embassy... if this happens your then stuck waiting another 3-6 weeks.
The code will take longer if you apply around holiday periods!
Best of Luck
Iran is a really nice country and the people are super kind!
For more information on my adventures, please visit either of the following: