Omnipay
A framework agnostic, multi-gateway payment processing library
... are a mess. Most payment gateways have exceptionally poor documentation. So, why use Omnipay instead of a gateway’s official PHP package/example code? Because you are writing a shopping cart and need to support multiple gateways.