Skip to main content
OwnPay dispatches internal events through the EventManager that plugins can listen to. Events are distinct from hooks and serve a different architectural purpose.

Events vs hooks

Use events when you need async processing (for example sending an email after a payment). Use hooks when you need to modify data in-flight.

Listening to events in plugins

Built-in events

Event listener registration

Queued listeners require Redis to be configured. The listener class must implement __invoke(PaymentCompleted $event).

Error handling

Event listeners run inside the same error-isolation wrapper as hooks. If a listener throws, the error is logged and the event continues to the next listener.
Last modified on August 25, 2026