Here are the steps I had to take to get Phreebooks to work with the Chase Paymentech (Orbital) gateway payment module.
1. First, be sure to register your web server's IP with Chase Paymentech Orbital Gateway tech support since their firewall is set to reject traffic from unknown senders.
2. Make sure your have curl support installed with the necessary libraries for your distribution (we use FreeBSD so if there's anyone who needs help getting this set up feel free to hit me up).
3. Make sure your firewall is allowing outbound initiated traffic on port 443 (not just inbound stateful traffic on 443..this one took me a minute to tweak on FreeBSD with PF "pass out on $ext_if from any to any port https").
4. When you add customers only use short abbreviations for the state since Chase Paymentech/Orbital isn't smart enough to accept full names of states for the transaction. Perhaps this could be changed in the input address fields for customer/vendor, etc.. and could have some error checking added in a future release to prevent sloppy data entry. If we do that we'll be sure to give that code snippet back to the Phreebooks community.
And this one especially had us stumped for a day or so:
5. The payment will transact through the gateway and you will charge the card but it will NOT post to Phreebooks unless you go to modules/services/payment/paymentech.php and find line 413 or thereabout which reads
"/* DELETE ME */ return true; // force a fail to not post"
and either delete it, or comment it out more (like I did with some notes about why I did that. If you don't want to do that you can just replace the entire paymentech.php module with the one I fixed.
You can go get it here:
http://idotmind.com/phreebookshacks/pay ... php.tar.gzAwesome piece of software so far! Thanks for all your hard work Dave. We just adopted it and are really happy it looks so promising as we work the kinks out. I hope this is helpful for other people.