Event Dispatcher
The EventDispatcherExtensions provides a Bridge to the Symfony EventDispatcher Component. The EventDispatcherComponent allows you to add behaviour without changing Payum.
Enable the EventDispatcherExtension
<?php
use Payum\Core\Bridge\Symfony\Extension\EventDispatcherExtension;
/** @var \Payum\Core\Gateway $gateway */
/** @var \Symfony\Component\EventDispatcher\EventDispatcherInterface $eventDispatcher */
$gateway->addExtension(
new EventDispatcherExtension($eventDispatcher)
);Listen to an Event
<?php
use Payum\Core\Bridge\Symfony\Event\ExecuteEvent;
use Payum\Core\Bridge\Symfony\PayumEvents;
/** @var \Symfony\Component\EventDispatcher\EventDispatcherInterface $eventDispatcher */
$eventDispatcher->addListener(
PayumEvents::GATEWAY_EXECUTE,
function(ExecuteEvent $event) {
// do something
}
);Name
PayumEvents Constant
Argument passed to the listener
payum.gateway.pre_execute
PayumEvents::GATEWAY_PRE_EXECUTE
ExecuteEvent
payum.gateway.execute
PayumEvents::GATEWAY_EXECUTE
ExecuteEvent
payum.gateway.post_execute
PayumEvents::GATEWAY_POST_EXECUTE
ExecuteEvent
Benefit with PayumBundle
If you use Symfony Full-Stack Framework and the PayumBundle you can add the EventDispatcherExtension via Configuration:
And add the listener:
Supporting Payum
Payum is an MIT-licensed open source project with its ongoing development made possible entirely by the support of community and our customers. If you'd like to join them, please consider:
Last updated