thephpleague/omnipay

A framework agnostic, multi-gateway payment processing library for PHP 5.6+

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 32 minutes ago
Added to GitGenius on September 11th, 2026
Created on September 3rd, 2012
Open Issues & Pull Requests: 109 (+0)
GitHub issues: Enabled
Number of forks: 929
Total Stargazers: 6,061 (+1)
Total Subscribers: 236 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1953.3 days
Mean response time: 1311.5 days
90th percentile: 1979.4 days
Tracked items: 3

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 5
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 910 days
Stale 30+ days: 5
Stale 90+ days: 5

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Omnipay is a framework agnostic, multi-gateway payment processing library for PHP that provides a unified API for integrating with different payment processors.

The library solves the problem of payment gateway fragmentation by offering a consistent interface across multiple payment processors. Rather than learning and implementing each gateway's proprietary API, developers work with a single abstraction layer. Omnipay avoids direct dependencies on official gateway packages, instead communicating with payment processors through their HTTP APIs using the PHP-HTTP library with a Guzzle adapter by default.

Omnipay suits projects that need to support multiple payment gateways or anticipate switching between them without rewriting payment logic. It is particularly valuable for shopping cart implementations and applications where payment flexibility matters. The library's appeal lies in its consistent API design and the ability to swap gateways with minimal code changes. Developers should be aware that new gateways can be created by extending the existing package structure, and community-contributed gateways should use the contributor's own vendor prefix rather than the omnipay namespace to distinguish them from officially supported implementations.

The project maintains a modular architecture where all gateways depend on a common package that defines the consistent interface. Gateway implementations are organized as separate packages, allowing developers to install only the gateways they need. The codebase is fully unit tested and includes example applications to help developers get started. The project has undergone a major version transition that changed the primary package name and requires gateway implementations to be updated accordingly, with an upgrade guide provided for this migration path.