i'd look into chase paymentech or authorize.net if you are able to get a merchant account. chase's api is pretty blackbox but they have a soap api as well. authorize is less black box. Afaik, aka last time i checked, a while ago - chase was offering better rates and transacts in many currencies.