The existing GlobalCollect adapter has some logic that we can re-use for a first draft.
- all of the configuration except var_map
- data staging should be the same
- processResponse deals with error codes which are identical across gateways
- The confirm_creditcard function is huge and gross, but it's got some subtleties that might be a pain to recreate.
I'd like to start by subclassing that and replacing only the functions that deal with the curl request and parsing XML.
curl_transaction will ignore the argument and instead use objects from SmashPig to call the new API
Early attempt at creating the Ingenico shell here: https://gerrit.wikimedia.org/r/364143