prolix / payum-bundle
Rich payment solutions for symfony2. Paypal, payex, authorize.net, be2bill, omnipay, recurring payments, instant notifications and many more
Package info
github.com/prolixtechnikos/PayumBundle
Type:symfony-bundle
pkg:composer/prolix/payum-bundle
Requires
- php: ^5.5.0|^7.0
- payum/core: ^1.4
- symfony/form: ~2.8|~3.0
- symfony/framework-bundle: ~2.8|~3.2
- symfony/validator: ~2.8|~3.0
Requires (Dev)
- ext-curl: *
- ext-pdo_sqlite: *
- ext-soap: *
- defuse/php-encryption: ^2
- doctrine/orm: ~2.5
- fp/klarna-invoice: 0.1.*
- klarna/checkout: ~1|~2.0
- omnipay/dummy: ~2.0
- omnipay/paypal: ~2.0
- omnipay/stripe: ~2.0
- paypal/rest-api-sdk-php: 0.5.*
- payum/jms-payment-bridge: ^1@dev
- payum/omnipay-bridge: ^1@dev
- payum/payum: ^1.4@dev
- php-http/guzzle6-adapter: ^1
- phpunit/phpunit: ~4.0
- sonata-project/admin-bundle: ^3
- stripe/stripe-php: ~1.0
- symfony/browser-kit: ~2.8|~3.0
- symfony/class-loader: ~2.8|~3.0
- symfony/expression-language: ~2.8|~3.0
- symfony/phpunit-bridge: ~2.8|~3.0
- symfony/security-acl: ~2.8|~3.0
- symfony/twig-bundle: ^2.8|^3
- twig/twig: ~1.16|~2.0
Suggests
- sonata-project/admin-bundle: ^3 If you want to configure payments in the backend.
This package is auto-updated.
Last update: 2026-06-18 07:01:46 UTC
README
The bundle integrate payum into symfony framework. It already supports +35 gateways. Provide nice configuration layer, secured capture controller, storages integration and lots of more features.
Sylius e-commerce platform base its payment solutions on top of the bundle.
Resources
Examples
Configure:
payum: storages: Payum\Core\Model\Payment: filesystem: storage_dir: %kernel.root_dir%/Resources/payments id_property: number security: token_storage: Payum\Core\Model\Token: filesystem: storage_dir: %kernel.root_dir%/Resources/gateways id_property: hash gateways: offline: factory: offline
Purchase
<?php use Payum\Core\Model\Payment; use Payum\Core\Reply\HttpRedirect; use Payum\Core\Reply\HttpResponse; use Payum\Core\Request\Capture; $payment = new Payment; $payment->setNumber(uniqid()); $payment->setCurrencyCode('EUR'); $payment->setTotalAmount(123); // 1.23 EUR $payment->setDescription('A description'); $payment->setClientId('anId'); $payment->setClientEmail('foo@example.com'); $gateway = $this->get('payum')->getGateway('offline'); $gateway->execute(new Capture($payment));
Get status
<?php use Payum\Core\Request\GetHumanStatus; $gateway->execute($status = new GetHumanStatus($payment)); echo $status->getValue();
Other operations.
<?php use Payum\Core\Request\Authorize; use Payum\Core\Request\Cancel; use Payum\Core\Request\Refund; $gateway->execute(new Authorize($payment)); $gateway->execute(new Refund($payment)); $gateway->execute(new Cancel($payment));
Contributing
PayumBundle is an open source, community-driven project. Pull requests are very welcome.
Like it? Spread the word!
Star PayumBundle on github or packagist.
Donate
License
The bundle is released under the MIT License.