Understanding online payments can be hard. Thats why I decided to give a talk about online payments and using Omipay with SilverStripe at a recent SilverStripe meet-up.
One thing that I should have mentioned in the talk is that Omnipay has a far bigger community than the SilverStripe Payment module. Heavy use of the library means it gets critiqued more, and issues are likely to be found and resolved quicker. This was a big motivating factor for me to shift from a SilverStripe only payments solution to using Omnipay.
A question that was asked at the end: "how do you test locally?" A great tool for this is ngrok (https://ngrok.com/). It creates a secure tunnel from your localhost to a publicly visible domain. It saves having to fiddle with your firewall / routing setup.
Watch the presentation: