The OwnPay Gateway Plugin for WooCommerce connects your WordPress store to your self-hosted OwnPay instance with no custom code. When a customer checks out, the plugin creates a payment intent via the OwnPay REST API, redirects the customer to OwnPay’s hosted checkout page, and automatically updates WooCommerce order statuses in response to webhook events — all out of the box.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/own-pay/OwnPay-Documentation/llms.txt
Use this file to discover all available pages before exploring further.
How It Works
Prerequisites
Before installing the plugin, confirm the following:| Requirement | Minimum Version |
|---|---|
| WordPress | 6.0+ |
| WooCommerce | 8.0+ |
| PHP | 8.2+ |
| OwnPay instance | Self-hosted, reachable over HTTPS |
write scope. Generate one in OwnPay Admin → Developer Hub → API Keys.
Installation
Download the latest plugin ZIP from the OwnPay WordPress GitHub Releases page. Choose the most recent stable release.
Upload ZIP (Recommended)
- In your WordPress admin, navigate to Plugins → Add New → Upload Plugin.
- Click Choose File and select the downloaded ZIP.
- Click Install Now.
- Click Activate Plugin once installation completes.
WP-CLI
If you have WP-CLI access to your server, run:
Pay with OwnPay)https://pay.yourdomain.com)payment.transaction.completedpayment.transaction.failedpayment.transaction.cancelled
Order Status Mapping
OwnPay payment events are automatically mapped to WooCommerce order statuses:| OwnPay Event | WooCommerce Status |
|---|---|
payment.transaction.completed | processing (or completed for virtual/downloadable products) |
payment.transaction.failed | failed |
payment.transaction.cancelled | cancelled |
payment.intent.expired | cancelled |
Testing Your Integration
Test mode connects to the OwnPay sandbox environment. Transactions process without real money, but all webhooks and order status transitions fire exactly as in production.
Add a product to your cart and proceed to checkout. Select OwnPay as the payment method and complete the order. You’ll be redirected to the OwnPay sandbox checkout.
processing.ownpay to see plugin log entries.200 response from your store.Customization
The plugin exposes WordPress filters for advanced customization without modifying plugin files directly.Customize the Redirect URL
Add query parameters or a custom path to the OwnPay checkout redirect:Customize the Payment Intent Payload
Attach additional metadata to every payment intent — useful for customer segmentation, analytics, or order notes:Override Completed Order Status
By default, completed payments set orders toprocessing. Override this per order type:
Webhook Signature Verification
The plugin verifies every incoming webhook using HMAC-SHA256 before updating any order. The verification logic the plugin runs internally:Troubleshooting
Webhooks Not Received
Confirm
https://yourstore.com/?wc-api=ownpay_gateway is publicly accessible over the internet (not behind a VPN or local network).Confirm the secret in WooCommerce → Settings → Payments → OwnPay exactly matches the one shown in OwnPay Admin → Developer Hub → Webhooks.
Orders Stuck in “Pending Payment”
This typically means the webhook was not delivered. You can manually sync an order’s payment status: Via WooCommerce Admin:- Open the order in the WooCommerce order detail view.
- Click OwnPay → Sync Payment Status in the order meta box.
SSL / cURL Errors
If your OwnPay instance uses a self-signed certificate (common in local development), add this towp-config.php:
Next Steps
PHP Integration
Build a custom PHP integration if you need more control than the plugin provides.
Node.js Integration
Integrate OwnPay into a headless or custom Node.js storefront.
Webhooks Guide
Understand all webhook events, retry logic, and delivery logs.
OwnPay Plugin Marketplace
Browse additional OwnPay plugins and gateway extensions.