payum/omnipay-v3-bridge
Payum bridge for Omnipay v3 gateways. Use Omnipay’s 25+ payment providers through Payum’s capture/status workflow with built-in return/cancel URL handling, consistent gateway configuration, and Payum-style requests and models.
payum/omnipay-v3-bridge enables seamless integration of Omnipay v3 gateways (e.g., Stripe, PayPal, Square) into Payum, a PHP payment abstraction library. This is ideal for projects already using Payum but needing broader Omnipay v3 gateway support without rewriting payment logic.omnipay/stripe) are already installed. This adds one dependency layer but avoids vendor lock-in.$gateway = new \Payum\OmnipayBridge\GatewayFactory();
$gateway->create([
'omnipay' => [
'gateway' => 'stripe',
'secret' => 'sk_test_...',
],
]);
| Risk Area | Assessment | Mitigation Strategy |
|---|---|---|
| API Version Mismatch | Omnipay v3 gateways may not align with Payum’s expected response formats. | Test with real gateway APIs (e.g., Stripe sandbox) before production. |
| Deprecation Risk | Last release in 2022; no active maintenance. | Monitor forks (e.g., payum/payum-bundle) or contribute patches. |
| State Machine Gaps | Complex Omnipay flows (e.g., 3D Secure) may not map cleanly to Payum states. | Extend Payum’s state machine or use Omnipay’s raw responses via getOmnipayGateway(). |
| Performance | Double abstraction (Payum + Omnipay) could add latency. | Benchmark against direct Omnipay usage; cache gateway instances if reused. |
omnipay/stripe vs. deprecated omnipay/authorize).card_declined) be surfaced to the frontend?composer require payum/omnipay-v3-bridge omnipay/stripe # Example
payum/stripe) with Omnipay-bridged versions.$gateway = $payum->getGatewayFactory()->create([
'omnipay' => [
'gateway' => 'paypal_express',
'username' => '...',
'password' => '...',
'signature' => '...',
],
]);
Authorization, Capture, Refund states.getOmnipayGateway() for raw access if needed.Omnipay\Common\Exception\GatewayException.| Component | Compatibility Notes |
|---|---|
| Payum | Requires v1.3+ (Omnipay v3 support). |
| Omnipay v3 | Must use v3.x gateways (e.g., omnipay/stripe v4+). |
| PHP | Tested on PHP 7.4–8.1 (check Omnipay v3’s PHP-Polyfill requirements). |
| Frameworks | Works with Symfony, Laravel, or vanilla PHP (Payum is framework-agnostic). |
| Databases | No direct DB impact, but Payum’s storage (e.g., Doctrine) must handle Omnipay data. |
payment_intent tracking).DOEXPRESSCHECKOUT vs. Stripe’s PaymentIntent).How can I help you explore Laravel packages today?