The card is 100% free if you order it online (e.g. your name and your friend's postal address). You don't need an O2 phone, just an unlocked phone. My actual contract is with EE but I managed to do the switch just to unlock the codes, then immediately switched back. Total cost to me was zero :)
(Total cost to O2 was higher since they had to send me a card, so I'm not sure what the benefit of this whole deal was for them!)
