Skip to main content
Plugins extend OwnPay without modifying core code. Write a plugin to add payment gateways, build custom features, redesign the checkout, or integrate with external platforms.

Four plugin types

Gateway plugins

Add new payment methods: Stripe, PayPal, bKash, bank transfer, crypto. Implement the GatewayInterface to handle payment processing, verification, refunds, and webhooks.Build a gateway

Addon plugins

Extend functionality without payment processing: reporting dashboards, subscription management, CRM sync, email customization, scheduled jobs.Build an addon

Theme plugins

Customize the checkout experience: Twig templates, CSS, JavaScript, branding overrides.Build a theme

Integration plugins

Connect external platforms: QuickBooks sync, HubSpot push, Slack notifications, ERP integration.Build an integration

Plugin sandbox

Every plugin runs inside a sandbox that enforces security constraints:
  • No direct filesystem access outside the plugin directory
  • No eval(), exec(), or system() calls
  • Database queries through the provided query builder only
  • Outbound HTTP via the plugin HTTP client with configurable allow-lists
The sandbox is enforced at the PHP level. A plugin that attempts a restricted operation receives a PluginSandboxException.

Capabilities

Plugins declare capabilities in their manifest.json. Capabilities are permission gates that determine what system resources a plugin can access: See the full Capabilities reference.

Hook system

Plugins interact with OwnPay core through a WordPress-style action and filter hook system powered by EventManager:
  • Actions - fire-and-forget callbacks (react to events)
  • Filters - pipeline callbacks that transform data
See the full Hooks catalog with 60+ hook points.

Documentation tree

Last modified on August 25, 2026