{"id":321147,"date":"2026-06-13T11:57:19","date_gmt":"2026-06-13T11:57:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wpthemeprime-payment-gateway-for-woocommerce\/"},"modified":"2026-06-13T11:57:02","modified_gmt":"2026-06-13T11:57:02","slug":"themeprime-manualpay","status":"publish","type":"plugin","link":"https:\/\/en-au.wordpress.org\/plugins\/themeprime-manualpay\/","author":23493870,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.4","stable_tag":"1.0.4","tested":"7.0","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"ThemePrime ManualPay for WooCommerce","header_author":"WPThemePrime","header_description":"Add unlimited custom manual payment gateways to WooCommerce with fees, conditional logic, payment slip upload, order auto-expiry, and WooCommerce Blocks support.","assets_banners_color":"435394","last_updated":"2026-06-13 11:57:02","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wpthemeprime.com\/plugins\/themeprime-manualpay\/","header_author_uri":"https:\/\/wpthemeprime.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":28,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.4":{"tag":"1.0.4","author":"wpthemeprime","date":"2026-06-13 11:57:02"}},"upgrade_notice":{"1.0.1":"<p>Bug fixes for copy button styling, import modal, and improved responsiveness.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3571189,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3571189,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3571189,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3571189,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3571189,"resolution":"1","location":"assets","locale":"","width":1240,"height":842},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3571189,"resolution":"2","location":"assets","locale":"","width":973,"height":838},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3571189,"resolution":"3","location":"assets","locale":"","width":968,"height":723},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3571189,"resolution":"4","location":"assets","locale":"","width":987,"height":834},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3571189,"resolution":"5","location":"assets","locale":"","width":1220,"height":685}},"screenshots":{"1":"Admin panel \u2014 gateway list with drag-and-drop ordering and status badges","2":"Gateway settings \u2014 General tab (title, description, icon, QR code)","3":"Gateway settings \u2014 Fields &amp; Instructions tab (custom checkout fields and payment instructions)","4":"Gateway settings \u2014 Fees &amp; Conditions tab","5":"Gateway settings \u2014 Styling tab with live color preview","6":"Checkout page \u2014 gateway with payment instructions and copy buttons","7":"Checkout page \u2014 QR code fullscreen lightbox","8":"Admin order detail \u2014 payment slip preview and Verify\/Reject buttons"}},"plugin_section":[],"plugin_tags":[144535,131407,6593,1894,286],"plugin_category":[45],"plugin_contributors":[262765],"plugin_business_model":[],"class_list":["post-321147","plugin","type-plugin","status-publish","hentry","plugin_tags-custom-payment","plugin_tags-manual-payment","plugin_tags-payment-gateway","plugin_tags-payment-method","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-wpthemeprime","plugin_committers-wpthemeprime"],"banners":{"banner":"https:\/\/ps.w.org\/themeprime-manualpay\/assets\/banner-772x250.png?rev=3571189","banner_2x":"https:\/\/ps.w.org\/themeprime-manualpay\/assets\/banner-1544x500.png?rev=3571189","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/themeprime-manualpay\/assets\/icon-128x128.png?rev=3571189","icon_2x":"https:\/\/ps.w.org\/themeprime-manualpay\/assets\/icon-256x256.png?rev=3571189","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/themeprime-manualpay\/assets\/screenshot-1.png?rev=3571189","caption":"Admin panel \u2014 gateway list with drag-and-drop ordering and status badges"},{"src":"https:\/\/ps.w.org\/themeprime-manualpay\/assets\/screenshot-2.png?rev=3571189","caption":"Gateway settings \u2014 General tab (title, description, icon, QR code)"},{"src":"https:\/\/ps.w.org\/themeprime-manualpay\/assets\/screenshot-3.png?rev=3571189","caption":"Gateway settings \u2014 Fields &amp; Instructions tab (custom checkout fields and payment instructions)"},{"src":"https:\/\/ps.w.org\/themeprime-manualpay\/assets\/screenshot-4.png?rev=3571189","caption":"Gateway settings \u2014 Fees &amp; Conditions tab"},{"src":"https:\/\/ps.w.org\/themeprime-manualpay\/assets\/screenshot-5.png?rev=3571189","caption":"Gateway settings \u2014 Styling tab with live color preview"}],"raw_content":"<!--section=description-->\n<p><strong>ThemePrime ManualPay for WooCommerce<\/strong> lets you create up to 20 fully independent custom manual payment gateways for WooCommerce \u2014 without touching a single line of code. Perfect for local payment methods like mobile banking, bank transfers, or any region-specific option that WooCommerce doesn't support out of the box.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Up to 20 custom gateways<\/strong> \u2014 each fully independent with its own title, description, icon, and QR code<\/li>\n<li><strong>Payment instructions<\/strong> \u2014 display account numbers, wallet IDs, or any reference info with a one-click copy button<\/li>\n<li><strong>QR code support<\/strong> \u2014 upload a QR image per gateway with a tap-to-enlarge lightbox<\/li>\n<li><strong>Custom checkout fields<\/strong> \u2014 collect transaction IDs, reference numbers, or any data at checkout (text, email, number, textarea)<\/li>\n<li><strong>Payment slip upload<\/strong> \u2014 let customers upload a payment receipt image or PDF at checkout (optional or required per gateway)<\/li>\n<li><strong>Transaction fees<\/strong> \u2014 add a fixed or percentage fee per gateway, shown as a separate line item in the cart<\/li>\n<li><strong>Conditional logic<\/strong> \u2014 show or hide each gateway by cart total range and customer user role<\/li>\n<li><strong>Order auto-expiry<\/strong> \u2014 automatically cancel unpaid orders after a set time (1\u201372 hours), restore stock, and notify the customer<\/li>\n<li><strong>Order verification workflow<\/strong> \u2014 Verify or Reject a payment from the admin order detail page; customer is notified by email<\/li>\n<li><strong>Per-gateway styling<\/strong> \u2014 customize background, border, label, and button colors with a live preview<\/li>\n<li><strong>Custom Thank You page<\/strong> \u2014 redirect customers to a gateway-specific page after checkout<\/li>\n<li><strong>Drag-and-drop ordering<\/strong> \u2014 reorder gateways from the admin panel<\/li>\n<li><strong>Import \/ Export settings<\/strong> \u2014 backup or transfer all gateway settings as a JSON file; works even without JavaScript<\/li>\n<li><strong>WooCommerce HPOS compatible<\/strong> \u2014 fully compatible with High-Performance Order Storage<\/li>\n<li><strong>WooCommerce Blocks support<\/strong> \u2014 works with the block-based checkout (instructions and QR codes)<\/li>\n<\/ul>\n\n<h4>Who Is This For?<\/h4>\n\n<ul>\n<li>Store owners in regions where mobile banking or bank transfers are the primary payment method<\/li>\n<li>Businesses that need to collect transaction IDs or payment slips from customers at checkout<\/li>\n<li>Developers who need a flexible, code-free gateway builder for client sites<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Go to <strong>ThemePrime ManualPay<\/strong> in your WordPress admin menu<\/li>\n<li>Click <strong>Add New Gateway<\/strong><\/li>\n<li>Configure the title, description, payment instructions, fees, and styling<\/li>\n<li>Save \u2014 your new gateway appears immediately on the WooCommerce checkout page<\/li>\n<\/ol>\n\n<h3>Known Limitations<\/h3>\n\n<ul>\n<li><strong>WooCommerce Blocks checkout<\/strong> \u2014 Custom checkout fields and payment slip upload require the classic shortcode checkout. Block-based checkout supports instructions and QR codes.<\/li>\n<li><strong>Order auto-expiry requires WP-Cron<\/strong> \u2014 If WP-Cron is disabled on your server, expired orders will not auto-cancel.<\/li>\n<li><strong>Payment verification emails<\/strong> \u2014 Verify\/Reject actions trigger WooCommerce's built-in order status emails. Ensure WooCommerce email settings are configured correctly.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>themeprime-manualpay<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Make sure WooCommerce is installed and active<\/li>\n<li>Go to <strong>ThemePrime ManualPay<\/strong> in your admin menu to configure your gateways<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20require%20woocommerce%3F\"><h3>Does this require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. WooCommerce must be installed and active. The plugin checks for this on activation.<\/p><\/dd>\n<dt id=\"how%20many%20gateways%20can%20i%20create%3F\"><h3>How many gateways can I create?<\/h3><\/dt>\n<dd><p>Up to 20 gateways per site.<\/p><\/dd>\n<dt id=\"can%20i%20collect%20a%20transaction%20id%20from%20the%20customer%20at%20checkout%3F\"><h3>Can I collect a transaction ID from the customer at checkout?<\/h3><\/dt>\n<dd><p>Yes. Use the <strong>Fields &amp; Instructions<\/strong> tab to add custom checkout fields (text, email, number, or textarea). Each field can be marked as required. Submitted values are saved to the order and shown in the admin order view.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%20hpos%3F\"><h3>Does it work with WooCommerce HPOS?<\/h3><\/dt>\n<dd><p>Yes. The plugin explicitly declares HPOS (High-Performance Order Storage) compatibility.<\/p><\/dd>\n<dt id=\"will%20this%20work%20with%20my%20theme%3F\"><h3>Will this work with my theme?<\/h3><\/dt>\n<dd><p>The frontend output uses standard WooCommerce hooks and HTML structure, so it works with any WooCommerce-compatible theme.<\/p><\/dd>\n<dt id=\"can%20i%20add%20a%20fee%20for%20using%20a%20specific%20gateway%3F\"><h3>Can I add a fee for using a specific gateway?<\/h3><\/dt>\n<dd><p>Yes. In the <strong>Fees &amp; Conditions<\/strong> tab, set a fixed amount or percentage fee. It appears as a separate line item in the cart totals when that gateway is selected.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20a%20gateway%20based%20on%20the%20cart%20total%20or%20user%20role%3F\"><h3>Can I hide a gateway based on the cart total or user role?<\/h3><\/dt>\n<dd><p>Yes. Enable conditional logic per gateway and set a minimum and\/or maximum cart total. You can also restrict visibility to specific WordPress user roles.<\/p><\/dd>\n<dt id=\"does%20the%20order%20auto-expiry%20feature%20require%20anything%20special%3F\"><h3>Does the order auto-expiry feature require anything special?<\/h3><\/dt>\n<dd><p>The auto-expiry feature uses WordPress Cron (WP-Cron). If your hosting disables WP-Cron, expired orders will not auto-cancel. Contact your host to enable WP-Cron, or set up a server-side cron job to trigger <code>wp-cron.php<\/code>.<\/p><\/dd>\n<dt id=\"does%20payment%20slip%20upload%20work%20with%20the%20block-based%20checkout%3F\"><h3>Does payment slip upload work with the block-based checkout?<\/h3><\/dt>\n<dd><p>Payment slip upload and custom checkout fields require the classic WooCommerce shortcode checkout (<code>[woocommerce_checkout]<\/code>). Block-based checkout supports gateway instructions and QR codes but not custom fields or slip upload.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fixed: Tested up to updated to WordPress 7.0 (automated scan requirement).<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fixed: Tab navigation now works correctly when multiple gateways are active (duplicate ID issue resolved).<\/li>\n<li>Fixed: Admin JavaScript cache now invalidated on update.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed: Removed arbitrary gateway limit. Gateways are now unlimited \u2014 no hard cap or constant.<\/li>\n<li>Changed: Gateway factory replaced with static-loader pattern. No eval() required.<\/li>\n<li>Removed: UPGM_MAX_GATEWAYS constant and all UI references to a gateway limit.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed: Copy button size now applied via inline styles to prevent theme override conflicts.<\/li>\n<li>Fixed: Admin import modal now shows correctly after file selection.<\/li>\n<li>Improved: Checkout instructions layout is fully responsive on all screen sizes.<\/li>\n<li>Improved: Frontend CSS cache-busting via version bump.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Up to 20 fully independent custom manual payment gateways.<\/li>\n<li>Payment instructions with one-click copy buttons.<\/li>\n<li>QR code upload with fullscreen lightbox.<\/li>\n<li>Custom checkout fields (text, email, number, textarea).<\/li>\n<li>Payment slip upload (optional or required per gateway).<\/li>\n<li>Transaction fees (fixed or percentage).<\/li>\n<li>Conditional gateway visibility by cart total and user role.<\/li>\n<li>Per-gateway color styling with live admin preview.<\/li>\n<li>Custom Thank You page redirect per gateway.<\/li>\n<li>Drag-and-drop gateway ordering.<\/li>\n<li>Order auto-expiry with automatic cancellation, stock restore, and customer email.<\/li>\n<li>Order verification workflow with Verify\/Reject buttons and customer notification.<\/li>\n<li>Payment instructions auto-added to WooCommerce order confirmation emails.<\/li>\n<li>Import\/Export settings as JSON (works without JavaScript).<\/li>\n<li>WooCommerce Blocks checkout support.<\/li>\n<li>WooCommerce HPOS compatibility.<\/li>\n<\/ul>","raw_excerpt":"Add unlimited custom manual payment gateways to WooCommerce \u2014 with fees, custom fields, QR codes, payment slip upload, order expiry, and per-gateway s &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/321147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=321147"}],"author":[{"embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpthemeprime"}],"wp:attachment":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=321147"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=321147"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=321147"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=321147"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=321147"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=321147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}