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.
payum:
storages:
Payum\Core\Model\Payment:
filesystem:
storage_dir: %kernel.root_dir%/Resources/payments
id_property: number
security:
token_storage:
Payum\Core\Model\Token:
storage_dir: %kernel.root_dir%/Resources/gateways
id_property: hash
gateways:
offline:
factory: offline
<?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));
<?php
use Payum\Core\Request\GetHumanStatus;
$gateway->execute($status = new GetHumanStatus($payment));
echo $status->getValue();
<?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));
PayumBundle is an open source, community-driven project. Pull requests are very welcome.
Star PayumBundle on github or packagist.
The bundle is released under the MIT License.