views:

43

answers:

3

I've integrated about half a dozen e-payment gateways, from popular ones (like paypal) to not-so popular ones.

It seems every time I try to integrate a non-popular epayment gateway, I exceed my original time-estimation.

I think I'm a decent programmer, but my time estimations probably needs work.

Do other programmers run into many "surprises" when integrating e-payment gateways they've never heard of?

Any advice will help.

thanks

+1  A: 

Isn't it natural to run into surprises when doing something you have never done before?

rlb.usa
no. When you have implemented a few of these, they basics are the same. I usually abstract the exact implementation details to a driver in gateway code I write.
Byron Whitlock
I have written and re-used some myself. But, surprise or no surprise, it still should be tested extensively all the same; credit-cards and payments at my company are always serious business.
rlb.usa
Very true. At my company we use 5 or 6 different gateways at the same time. Having everything abstracted is a must, but it also makes testing easier. The unit test frame work and verification steps are the same for each one.
Byron Whitlock
Wow, abstracting gateways, what an awesome idea!
rlb.usa
I wrongly assumed that I could rely on past experience to expedite the integration of new gateways. I learned my lesson. I won't be so optimistic the 13th time. Yes, I'm a slow learner....
John
+1  A: 

Yes this is totally true. Payment gateways are very finicky and even the big ones like have strange quirks.

What I find is the main issue is documentation. The more well known gateways have reams of good documentation. The lesser known ones have little bad and out of date information.

This isn't limited to payment gateways. I've encoutered the same thing on IVR's, Fax Services, (The USPS api is an example of a very good one ). It doesn't matter if it is soap, rest or simple query strings, if the documentation is bad you are forced to guess and check. This debugging takes forever.

Byron Whitlock
Agreed! I end up doing a lot of `print`s, often you can't debug through the 3rd party gateway/services. Sometimes the services allow you to attach "notes" to the payments, or specify custom hidden fields, and this is always very helpful.
rlb.usa
A: 

I never had to integrate an e-payment gateway, but a few years ago I worked for a retail company and EVERY time I had to write some proprietary file format to communicate between our application and those of our customers/suppliers, it was hell :) Apparently, writing good specs is very hard...

Joril