A framework-agnostic PHP library for processing payments through multiple gateways with a consistent API.
Omnipay is a payment processing library for PHP that provides a consistent interface for integrating with multiple payment gateways. It solves the problem of dealing with different gateway APIs by offering a unified abstraction layer, allowing developers to switch between providers or support multiple gateways without rewriting their payment code.
PHP developers building e-commerce applications, shopping carts, or any system requiring payment processing who need to support multiple payment gateways or avoid vendor lock-in.
Developers choose Omnipay because it offers a single, well-designed API for dozens of payment gateways, eliminating the need to learn each gateway's unique interface. It provides better documentation and code quality than most official gateway libraries while enabling easy gateway switching.
A framework agnostic, multi-gateway payment processing library for PHP 5.6+
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports over 100 payment gateways, including major providers like Stripe and PayPal, plus regional options, as detailed in the comprehensive README table.
Offers a consistent, well-thought-out API for all gateways, reducing code complexity and making it easy to switch providers without major rewrites.
Works with any PHP project independently of specific frameworks, enhancing flexibility and integration options across different environments.
Covers essential payment actions like authorize, capture, refund, void, and token billing, meeting most e-commerce needs out of the box.
Many gateways listed in the README are only supported in v2, not v3, leading to fragmentation and potential maintenance headaches for newer PHP versions.
Requires managing multiple Composer packages (e.g., league/omnipay plus individual gateway packages) and configuring HTTP clients, which can be cumbersome for simple integrations.
As an abstraction layer, it may not immediately support the latest features or APIs of individual payment gateways, relying on community updates that can be slow.