I am writing code to use authorize.net's CIM.<p>Here's the problem.<p>I don't like taking more information than is needed from people.  I don't intend to take CVN numbers, and I don't intend to take Street addresses.  You don't need them.  All you need is a zip code for verification.  I know people that run telephone chat lines.  They only take zip codes, because people are typing everything into their telephones.  No letters allowed.<p>Also, you'll note that 37 signals only takes a zip code.  No CVN, no street address.<p>So, I log into my Authorize.net account, go to the virtual terminal, enter a transaction with only zip code verification.  It works.  No problem.<p>I go to their CIM panel, try to enter the same information.  They tell me I need street address.  Authorize.net tech support is extremely unhelpful, telling me to talk to Visa, ignoring that they allowed the exact same transaction through another area of their site.<p>So, I'm paying $25 a month for CIM, for the privelege of being forced to make my users life unnecessarily complicated.  I have a problem with that.<p>If I can safely store those numbers without CIM, I intend to do so.