{"id":337762,"date":"2026-11-01T16:07:31","date_gmt":"2026-11-01T16:07:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ownpay-payment-gateway\/"},"modified":"2026-11-05T00:42:16","modified_gmt":"2026-11-05T00:42:16","slug":"ownpay-payment-gateway","status":"publish","type":"plugin","link":"https:\/\/ta.wordpress.org\/plugins\/ownpay-payment-gateway\/","author":23529783,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.0","stable_tag":"1.4.0","tested":"7.1.4","requires":"6.7","requires_php":"8.0","requires_plugins":null,"header_name":"OwnPay Payment Gateway","header_author":"OwnPay","header_description":"Accept card, bank transfer, and mobile banking payments in WooCommerce via OwnPay.","assets_banners_color":"83a8ce","last_updated":"2026-11-05 00:42:16","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/ownpay.org\/donate","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/ownpay-payment-gateway\/","header_author_uri":"https:\/\/ownpay.org","rating":5,"author_block_rating":0,"active_installs":0,"downloads":499,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.0":{"tag":"1.3.0","author":"ownpay","date":"2026-11-01 17:34:02","revision":3778349},"1.4.0":{"tag":"1.4.0","author":"ownpay","date":"2026-11-05 00:42:16","revision":3784999}},"upgrade_notice":{"1.4.0":"<p>Adds Settings, Docs and Support links on the Plugins screen. Now requires WordPress 6.7 or higher.<\/p>","1.3.0":"<p>Fixes failed and cancelled payment redirects for guest customers. Recommended for all users.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3778314,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3778314,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3778314,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3778314,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3785162,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=wc-settings&tab=checkout&section=ownpay\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"phpExtensionBundles\":[\"kitchen-sink\"],\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"woocommerce\"},\"options\":{\"activate\":true}},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"ownpay-payment-gateway\"},\"options\":{\"activate\":true}}]}"}},"all_blocks":[],"tagged_versions":["1.3.0","1.4.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3778314,"resolution":"1","location":"assets","locale":"","width":1542,"height":947},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3778314,"resolution":"2","location":"assets","locale":"","width":1292,"height":735},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3778314,"resolution":"3","location":"assets","locale":"","width":1537,"height":287}},"screenshots":{"1":"Settings panel showing API credentials and webhook helper.","2":"Customer checkout payment method selection.","3":"OwnPay admin dashboard showing recent WooCommerce transaction logs."}},"plugin_section":[],"plugin_tags":[3148,11475,290101,6593,286],"plugin_category":[45],"plugin_contributors":[290103],"plugin_business_model":[],"class_list":["post-337762","plugin","type-plugin","status-publish","hentry","plugin_tags-checkout","plugin_tags-credit-card","plugin_tags-ownpay","plugin_tags-payment-gateway","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-ownpay","plugin_committers-ownpay"],"banners":{"banner":"https:\/\/ps.w.org\/ownpay-payment-gateway\/assets\/banner-772x250.png?rev=3778314","banner_2x":"https:\/\/ps.w.org\/ownpay-payment-gateway\/assets\/banner-1544x500.png?rev=3778314","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ownpay-payment-gateway\/assets\/icon-128x128.png?rev=3778314","icon_2x":"https:\/\/ps.w.org\/ownpay-payment-gateway\/assets\/icon-256x256.png?rev=3778314","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ownpay-payment-gateway\/assets\/screenshot-1.png?rev=3778314","caption":"Settings panel showing API credentials and webhook helper."},{"src":"https:\/\/ps.w.org\/ownpay-payment-gateway\/assets\/screenshot-2.png?rev=3778314","caption":"Customer checkout payment method selection."},{"src":"https:\/\/ps.w.org\/ownpay-payment-gateway\/assets\/screenshot-3.png?rev=3778314","caption":"OwnPay admin dashboard showing recent WooCommerce transaction logs."}],"raw_content":"<!--section=description-->\n<p>OwnPay Payment Gateway is the official WooCommerce integration for OwnPay payment gateways. It provides your customers with a secure, responsive, and seamless checkout experience. Offer credit\/debit cards, bank transfers, and local mobile banking under your own custom white-labeled brand.<\/p>\n\n<h3>Key Features:<\/h3>\n\n<ul>\n<li>Quick integration of OwnPay payments into WooCommerce checkout.<\/li>\n<li>Secure, encrypted transaction processing.<\/li>\n<li>Configure custom checkout gateway logos directly from the admin dashboard with automatic sizing constraints.<\/li>\n<li>Built-in server-to-server webhook confirmation with HMAC-SHA256 signature verification.<\/li>\n<li>Synchronous check on thank-you page to verify payments instantly.<\/li>\n<li>Optional customer checkout processing fees (flat or percentage).<\/li>\n<li>Easy to read payment logs with raw API response payload view.<\/li>\n<\/ul>\n\n<h3>Benefits:<\/h3>\n\n<ul>\n<li><strong>Unified Checkout<\/strong>: Pay using multiple payment methods on a single white-labeled endpoint.<\/li>\n<li><strong>Secure Transactions<\/strong>: Protect your store and customers with HMAC signed verification callbacks.<\/li>\n<li><strong>Responsive &amp; Fast<\/strong>: Designed to load efficiently on both desktop and mobile screens.<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin sends payment data to your OwnPay gateway installation \u2013 a self-hosted or\nmanaged payment server whose URL you configure in WooCommerce &gt; Settings &gt; Payments &gt; OwnPay.<\/p>\n\n<p>Data sent to your configured endpoint when a customer initiates a checkout:<\/p>\n\n<ul>\n<li>Order amount and currency<\/li>\n<li>Customer email address, name, and phone number<\/li>\n<li>WooCommerce order ID (as a payment reference)<\/li>\n<\/ul>\n\n<p>No data is sent to any OwnPay-operated server by default. The API endpoint is entirely\ncontrolled by the site administrator. For OwnPay's privacy policy, visit https:\/\/ownpay.org\/privacy.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>This plugin communicates with the OwnPay payment API (configurable endpoint) to process transactions. No customer data is sent to OwnPay without the customer initiating a payment. Transaction details are stored in WooCommerce order meta. For OwnPay's privacy policy, visit https:\/\/ownpay.org\/privacy.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install it directly through the WordPress plugins dashboard.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Navigate to WooCommerce &gt; Settings &gt; Payments, and click on <strong>OwnPay<\/strong>.<\/li>\n<li>Configure the API endpoint, Bearer API Key, and Webhook Secret.<\/li>\n<li>Copy the displayed Webhook callback URL (<code>https:\/\/your-site.com\/?wc-api=ownpay<\/code>) and configure it in your OwnPay Merchant dashboard.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20configure%20webhooks%3F\"><h3>How do I configure webhooks?<\/h3><\/dt>\n<dd><p>Copy the Webhook URL from the OwnPay settings in WooCommerce, paste it into your OwnPay Developer dashboard webhooks list, and copy the generated secret key back to the WooCommerce settings.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20gateway%20logo%3F\"><h3>Can I customize the gateway logo?<\/h3><\/dt>\n<dd><p>Yes! Input any image URL under the \"Custom Gateway Logo URL\" option in the payment settings. The logo will automatically be rendered with a fixed size constraint to fit the layout.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added \"Settings\", \"Docs\" and \"Support\" quick links to the plugin row on the Plugins screen, after \"Deactivate\".<\/li>\n<li>Raised minimum required WordPress version to 6.7.<\/li>\n<li>Updated release automation: deploy to WordPress.org is now dispatched explicitly after tagging, GitHub Actions pinned to commit SHAs.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Fixed cancel\/failed payment redirect to use guest-compatible pages (Pay for Order for failed, Cart for cancelled).<\/li>\n<li>Replaced transient-based customer notice with WooCommerce session for reliable delivery across redirects.<\/li>\n<li>Fixed empty Gateway Transaction ID in redirect success order note by checking multiple API field name variants.<\/li>\n<li>Removed dead binary dashboard-menu-icon.jpg that was still in the repo.<\/li>\n<li>Added server-side payment status verification and customer-facing notices for failed and cancelled payment redirects from OwnPay.<\/li>\n<li>Extracted verify_payment_by_id() reusable method from sync_payment_status() to avoid code duplication.<\/li>\n<li>Added wp_unslash() to $_SERVER header fallback values in webhook handler.<\/li>\n<li>Wrapped method_title and method_description in __() for translation support.<\/li>\n<li>Changed admin menu capability from manage_options to manage_woocommerce for consistency with WooCommerce extension guidelines.<\/li>\n<li>Added floatval() cast to fee percentage in cart fee label.<\/li>\n<li>Fixed WordPress Plugin Checker warnings: ordered i18n placeholders, nonce verification comments for redirect parameters.<\/li>\n<li>Added automated GitHub Actions release workflow with version-tagged releases and plugin zip asset generation.<\/li>\n<li>Made admin payment list page responsive on mobile devices.<\/li>\n<li>Renamed settings labels: \"OwnPay API Endpoint URL\" to \"OwnPay Base URL\", \"Custom Gateway Logo\" to \"OwnPay Gateway Logo\".<\/li>\n<li>Added info tooltip on Webhook Secret setting.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Removed stale binary dashboard menu icon (196KB JPG) in favor of the existing SVG icon.<\/li>\n<li>Added deactivation hook to clean up the runtime cache version option.<\/li>\n<li>Fixed version constant mismatch: <code>OPWC_VERSION<\/code> now correctly reflects <code>1.2.0<\/code> instead of the stale <code>1.0.0<\/code> value.<\/li>\n<li>Updated Plugin URI to point to the WordPress.org plugin directory listing instead of the GitHub repository.<\/li>\n<li>Improved <code>getallheaders()<\/code> fallback to only iterate <code>HTTP_*<\/code> server variables along with <code>CONTENT_TYPE<\/code> and <code>CONTENT_LENGTH<\/code>, avoiding unnecessary iteration over all <code>$_SERVER<\/code> keys.<\/li>\n<li>Removed redundant <code>strval()<\/code> wrappers around <code>sanitize_text_field()<\/code> calls where applicable.<\/li>\n<li>Refactored self-hooking in class constructors: moved <code>add_action<\/code>\/<code>add_filter<\/code> registrations from <code>__construct()<\/code> into dedicated <code>init()<\/code> methods called externally, following WordPress.org coding best practices. Affected classes: <code>OPWC_Payment<\/code>, <code>OPWC_Hooks<\/code>, <code>OPWC_Menu_Settings<\/code>, and <code>OPWC_Admin<\/code>.<\/li>\n<li>Added <code>index.php<\/code> silence files to all subdirectories (<code>admin\/css\/<\/code>, <code>admin\/js\/<\/code>, <code>admin\/partials\/<\/code>, <code>admin\/partials\/views\/<\/code>, <code>admin\/partials\/views\/payment-list\/<\/code>, <code>assets\/<\/code>, <code>assets\/js\/<\/code>, <code>assets\/logo\/<\/code>, <code>languages\/<\/code>) to prevent directory listing on servers.<\/li>\n<li>Fixed fallback version string in <code>OPWC<\/code> class constructor to match the current release.<\/li>\n<li>Expanded changelog entries for this release with specific technical details.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Fixed some bugs<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release of the OwnPay Payment Gateway plugin.<\/li>\n<\/ul>","raw_excerpt":"Accept card, bank transfer, and mobile banking payments in WooCommerce via OwnPay.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/337762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=337762"}],"author":[{"embeddable":true,"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ownpay"}],"wp:attachment":[{"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=337762"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=337762"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=337762"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=337762"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=337762"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ta.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=337762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}