In simple English
When you build an online shop, you need to take money from customers. Every payment service, such as PayPal or Stripe, uses a different set of rules and code. If you switch from one service to another, you usually have to rewrite all your checkout code. Omnipay acts as a single translator between your code and over a hundred different payment providers. You learn one set of commands once, and you can swap your payment provider without rewriting your store. It costs you no money, but you need to know enough PHP to install packages and write basic server code.
What it is
A framework-agnostic, multi-gateway payment processing library for PHP 5.6 and newer. It abstracts different payment provider APIs into a uniform interface using PHP and Composer (a tool for managing programming libraries in PHP).
What it is good for
Solo developers building custom shopping carts or subscription systems in PHP who want to support multiple payment processors or switch providers later without re-engineering their checkout logic.
- Supports over a hundred different payment gateways with one shared command structure.
- Swapping your payment provider requires changing only a few lines of configuration.
- Standardizes credit card data input and validation, including Luhn checks.
- Requires familiarity with PHP, Composer, and server-side request handling.
- Individual payment gateway packages are maintained by different contributors with varying quality.
- Version 3 required a namespace change, so upgrading older codebases takes manual work.
Writing custom integration code for every individual payment gateway API
Composer
- stripe/stripe-php4.0k stars
Official PHP client library specifically for Stripe, rather than supporting multiple gateways.
- akaunting/akaunting10k stars
Self-hosted invoicing and expense tracking, with the double-entry accounting sold separately as an add-on.
- ledger/ledger6.1k stars
Double-entry accounting from a plain text file, run from the command line, with no database of any kind.
- spiral-project/ihatemoney1.4k stars
A shared-expense list that works out the shortest set of payments to make everyone even.
composer require league/omnipay:^3 omnipay/stripe