[bop-devel] Unifying the data sent to B:OP modules

Jo Rhett jrhett at netconsonance.com
Thu Dec 7 09:08:52 PST 2006


Ivan Kohler wrote:
>> Frankly, all the obvious questions.  What data formats are supported for 
>> each and every method?  I'm one of those annoying programmers that 
>> thinks that you shouldn't have to read the code to use a library :-)
>> (I almost always end up doing so, but it annoys me)
> 
> I don't think this is particularly well defined/constrained, other than 
> the obvious (card numbers have to be card numbers, etc.), so it isn't 
> surprising there isn't documentation.

Um, no.  Pretty much every single field I've had to read the gateway 
modules to find out what is required.  Examples:

1. Acceptable formats for expiration date
2. Whitespace/dashes in card number
3. Zip code formats accepted
4. First name, last name versus Fullname
5. Address numbers supplied in a different field
6. What AVS options are supported
7. What test options are supported
8. What values does the gateway accept for card type?
9. Does the gateway require card type?

Likewise, you have to read the module documentation to learn

1. What the AVS return information will tell you
2. What the test options will tell you
...etc

All of these require if/then/else around the payment processor in your 
main source code.  If we unified these answers and then let the payment 
processor munge them as necessary, then it wouldn't matter.

-- 
Jo Rhett
Network/Software Engineer
Net Consonance


More information about the bop-devel mailing list