{"id":292220,"date":"2026-04-02T08:07:30","date_gmt":"2026-04-02T08:07:30","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/tornevall-networks-toolbox-for-resurs-bank-payments\/"},"modified":"2026-04-03T08:41:21","modified_gmt":"2026-04-03T08:41:21","slug":"tornevall-networks-toolbox-for-resurs-bank-payments","status":"publish","type":"plugin","link":"https:\/\/ja.wordpress.org\/plugins\/tornevall-networks-toolbox-for-resurs-bank-payments\/","author":6055347,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.4","stable_tag":"1.0.4","tested":"6.9.4","requires":"6.0","requires_php":"8.1","requires_plugins":null,"header_name":"Tornevall Networks Toolbox for Resurs Bank Payments","header_author":"Thomas Tornevall","header_description":"Independent utility plugin for WooCommerce with Resurs Bank Payments integration (not official or endorsed by Resurs Bank)","assets_banners_color":"","last_updated":"2026-04-03 08:41:21","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.tornevalls.se\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":192,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"Tornevall","date":"2026-04-02 08:06:58"},"1.0.1":{"tag":"1.0.1","author":"Tornevall","date":"2026-04-02 08:06:58"},"1.0.2":{"tag":"1.0.2","author":"Tornevall","date":"2026-04-02 08:06:58"},"1.0.3":{"tag":"1.0.3","author":"Tornevall","date":"2026-04-02 16:45:23"},"1.0.4":{"tag":"1.0.4","author":"Tornevall","date":"2026-04-03 08:41:21"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3497685,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3497685,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3497685,"resolution":"1","location":"assets","locale":"","width":1703,"height":979},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3497685,"resolution":"2","location":"assets","locale":"","width":856,"height":445},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3497685,"resolution":"3","location":"assets","locale":"","width":863,"height":412},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3497685,"resolution":"4","location":"assets","locale":"","width":719,"height":434},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3497685,"resolution":"5","location":"assets","locale":"","width":884,"height":682}},"screenshots":{"1":"Toolbox tab overview in WooCommerce settings with plugin status and controls.","2":"Resurs plugin version-check result panel in the toolbox admin UI.","3":"Part Payment Widget shortcode\/manual mode settings in the toolbox tab.","4":"Before: shortcode inserted in WooCommerce product description editor (<code>[resurs_partpayment_widget]<\/code>).","5":"After: rendered Resurs Part Payment widget visible on the product page description."}},"plugin_section":[],"plugin_tags":[53991,4351,286],"plugin_category":[45],"plugin_contributors":[127448],"plugin_business_model":[],"class_list":["post-292220","plugin","type-plugin","status-publish","hentry","plugin_tags-resurs-bank","plugin_tags-utilities","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-tornevall","plugin_committers-tornevall"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tornevall-networks-toolbox-for-resurs-bank-payments\/assets\/icon-128x128.png?rev=3497685","icon_2x":"https:\/\/ps.w.org\/tornevall-networks-toolbox-for-resurs-bank-payments\/assets\/icon-256x256.png?rev=3497685","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/tornevall-networks-toolbox-for-resurs-bank-payments\/assets\/screenshot-1.png?rev=3497685","caption":"Toolbox tab overview in WooCommerce settings with plugin status and controls."},{"src":"https:\/\/ps.w.org\/tornevall-networks-toolbox-for-resurs-bank-payments\/assets\/screenshot-2.png?rev=3497685","caption":"Resurs plugin version-check result panel in the toolbox admin UI."},{"src":"https:\/\/ps.w.org\/tornevall-networks-toolbox-for-resurs-bank-payments\/assets\/screenshot-3.png?rev=3497685","caption":"Part Payment Widget shortcode\/manual mode settings in the toolbox tab."},{"src":"https:\/\/ps.w.org\/tornevall-networks-toolbox-for-resurs-bank-payments\/assets\/screenshot-4.png?rev=3497685","caption":"Before: shortcode inserted in WooCommerce product description editor (<code>[resurs_partpayment_widget]<\/code>)."},{"src":"https:\/\/ps.w.org\/tornevall-networks-toolbox-for-resurs-bank-payments\/assets\/screenshot-5.png?rev=3497685","caption":"After: rendered Resurs Part Payment widget visible on the product page description."}],"raw_content":"<!--section=description-->\n<p>Tornevall Networks Toolbox for Resurs Bank Payments is an independent developer and merchant utility plugin\u2014<strong>not officially affiliated with or endorsed by Resurs Bank<\/strong>.<\/p>\n\n<p>This is a third-party tool built to support WooCommerce implementations that use Resurs Bank Payments as a payment provider.<\/p>\n\n<p><strong>\u26a0\ufe0f DISCLAIMER<\/strong>: This plugin is NOT created, maintained, or supported by Resurs Bank. It is a community\/independent utility.<\/p>\n\n<p>Current toolbox features include:<\/p>\n\n<ul>\n<li>Resurs plugin status detection for common plugin file variants.<\/li>\n<li>Installed plugin file and version display in the WooCommerce toolbox tab.<\/li>\n<li>Bitbucket-based version checking from the admin interface.<\/li>\n<li>WordPress.com plugin-page link and an \"Upgrade in Plugins\" shortcut when a newer Resurs release is detected.<\/li>\n<li>Part Payment Widget settings with optional shortcode\/manual rendering mode.<\/li>\n<li>Admin CSS\/JS loaded through proper WordPress admin enqueue hooks on the toolbox tab only.<\/li>\n<li>Support for a configurable shortcode tag, defaulting to <code>[resurs_partpayment_widget]<\/code>.<\/li>\n<li>Updated bundled Swedish translations for the current plugin name and UI text.<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to one external service:<\/p>\n\n<p><strong>Service:<\/strong> Bitbucket REST API (Atlassian)\n<strong>Endpoint:<\/strong> <code>https:\/\/api.bitbucket.org\/2.0\/repositories\/resursbankplugins\/resursbank-woocommerce\/refs\/tags<\/code><\/p>\n\n<p>This plugin connects to the Bitbucket REST API to check the latest available tag for the Resurs Bank Payments for WooCommerce plugin. This is used to help administrators compare the installed version with the latest available upstream version.<\/p>\n\n<p>A request is sent only when an administrator manually clicks \"Check for Updates\" in the toolbox settings tab.<\/p>\n\n<p>The request sends the current site's server IP address as part of the normal HTTPS request to the Bitbucket API. No customer or order data is sent by this feature.<\/p>\n\n<p>Bitbucket is provided by Atlassian.\nTerms of Service: https:\/\/www.atlassian.com\/legal\/cloud-terms-of-service\nPrivacy Policy: https:\/\/www.atlassian.com\/legal\/privacy-policy<\/p>\n\n<h3>Security<\/h3>\n\n<p>This plugin implements WordPress security best practices:<\/p>\n\n<ul>\n<li><strong>Nonce Verification<\/strong>: All form submissions (POST requests) are protected with WordPress nonces to prevent CSRF attacks.<\/li>\n<li><strong>Permission Checks<\/strong>: All admin actions require the <code>manage_woocommerce<\/code> capability, ensuring only authorized administrators can modify settings.<\/li>\n<li><strong>Input Sanitization<\/strong>: All user input is properly sanitized using WordPress functions.<\/li>\n<li><strong>AJAX Security<\/strong>: AJAX endpoints validate both user permissions and nonce tokens before processing data.<\/li>\n<\/ul>\n\n<h3>License<\/h3>\n\n<p>GPLv2 or later. See LICENSE file.<\/p>\n\n<h3>Author<\/h3>\n\n<p>Thomas Tornevall \u2014 <a href=\"https:\/\/www.tornevalls.se\/\">www.tornevalls.se<\/a><\/p>\n\n\n\n<p><strong>\u26a0\ufe0f Disclaimer<\/strong>: Not endorsed by Resurs Bank.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload to <code>\/wp-content\/plugins\/tornevall-networks-toolbox-for-resurs-bank-payments\/<\/code><\/li>\n<li>Activate via Plugins screen<\/li>\n<li>Go to <strong>WooCommerce &gt; Settings &gt; Tornevall Networks Toolbox for Resurs Bank Payments<\/strong><\/li>\n<li>Review the detected Resurs plugin status and configure widget behavior if needed<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20resurs%20bank%20official%20plugin%3F\"><h3>Do I need Resurs Bank official plugin?<\/h3><\/dt>\n<dd><p>This plugin is designed to work alongside the official Resurs Bank plugin for WooCommerce.\nYou can install it without the official plugin, but it will be an empty shell without Resurs Bank integration features.<\/p><\/dd>\n<dt id=\"is%20this%20supported%20by%20resurs%20bank%3F\"><h3>Is this supported by Resurs Bank?<\/h3><\/dt>\n<dd><p>No. Third-party developer tool. Not official.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20in%20production%3F\"><h3>Can I use this in production?<\/h3><\/dt>\n<dd><p>This is a utility\/inspection tool. Use at your own discretion.<\/p><\/dd>\n<dt id=\"what%20does%20the%20shortcode%20setting%20do%3F\"><h3>What does the shortcode setting do?<\/h3><\/dt>\n<dd><p>If shortcode rendering is enabled, the plugin disables the default automatic Part Payment Widget rendering from the official Resurs plugin and registers a shortcode instead.\nThe default shortcode is <code>[resurs_partpayment_widget]<\/code>, but the shortcode name can be changed from the toolbox tab.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Reworked Part Payment shortcode context detection so the shortcode works in WooCommerce product description content and across more template\/block flows.<\/li>\n<li>Improved widget bootstrap\/runtime context handling for shortcode\/manual mode.<\/li>\n<li>Added\/updated handoff through the <code>resursbank_pp_price_data<\/code> filter so module-resolved amount data can be passed to the Resurs widget when available.<\/li>\n<li>Improved shortcode stability when standard single-product globals are missing.<\/li>\n<li>Kept automatic summary rendering disabled in shortcode\/manual mode to avoid double-render conflicts.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Adjusted plugin path resolution to use plugin constants defined from the main plugin file, ensuring compatibility with WordPress directory handling across installations.<\/li>\n<li>Corrected external-service disclosure text for the Bitbucket API integration: the version check request is only sent when an administrator manually clicks \"Check for Updates\" \u2014 not on settings page load.<\/li>\n<li>Replaced manual <code>wp_verify_nonce()<\/code> conditional in settings save handler with <code>check_admin_referer()<\/code>, the WordPress-standard single-call nonce function recognised by plugin-review scanners.<\/li>\n<li>Replaced manual <code>wp_verify_nonce()<\/code> conditional in the version-check AJAX handler with <code>check_ajax_referer()<\/code> for the same reason.<\/li>\n<li>Reordered security checks in both handlers so that nonce validation runs before capability checks, following WordPress plugin-review recommendations.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Replaced raw inline <code>&lt;style&gt;<\/code> and <code>&lt;script&gt;<\/code> tags on the toolbox admin page with proper WordPress admin enqueue usage.<\/li>\n<li>Scoped toolbox admin CSS\/JS so they only load on the WooCommerce toolbox settings tab.<\/li>\n<li>Fixed hardcoded filesystem path in the Resurs plugin detector by using proper WordPress path helper functions instead of manual string concatenation.<\/li>\n<li>Hardened settings save flow with explicit capability + nonce failure handling.<\/li>\n<li>Improved AJAX security ordering and validation flow for version checks.<\/li>\n<li>Replaced unsafe raw input reads with early WordPress sanitization in settings save.<\/li>\n<li>Fixed late escaping of translated output in the WooCommerce missing-plugin admin notice.<\/li>\n<li>Stopped writing legacy option keys on save; canonical option keys are now the only write target.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>WooCommerce toolbox\/settings tab integration.<\/li>\n<li>Resurs plugin status view.<\/li>\n<li>Bitbucket version check UI in admin.<\/li>\n<li>Renamed the plugin to Tornevall Networks Toolbox for Resurs Bank Payments.<\/li>\n<li>Updated the plugin slug-facing package path and main bootstrap naming.<\/li>\n<li>Standardized internal constants, class names, AJAX action names, and nonce names.<\/li>\n<li>Refreshed admin labels and readme branding to match the new product name.<\/li>\n<li>Applied WordPress plugin-check compliance fixes and validation updates.<\/li>\n<li>Restored the Part Payment Widget module in the current plugin structure.<\/li>\n<li>Added shortcode\/manual rendering mode for the Part Payment Widget.<\/li>\n<li>Added configurable shortcode name handling in the toolbox settings.<\/li>\n<li>Restored the widget settings card in the WooCommerce toolbox tab.<\/li>\n<li>Improved Resurs plugin status detection for multiple known plugin file variants.<\/li>\n<li>Kept compatibility with legacy shortcode option names during migration to the new naming convention.<\/li>\n<li>Added a WordPress.com plugin-page link in the Resurs update result UI.<\/li>\n<li>Added an \"Upgrade in Plugins\" action that opens the WordPress plugin manager for the detected Resurs plugin.<\/li>\n<li>Fixed bundled translation loading for the current plugin text domain.<\/li>\n<li>Rebuilt the bundled Swedish translation files to match the current plugin name and UI text.<\/li>\n<\/ul>","raw_excerpt":"Independent utility plugin for WooCommerce with Resurs Bank Payments integration.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/292220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=292220"}],"author":[{"embeddable":true,"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tornevall"}],"wp:attachment":[{"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=292220"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=292220"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=292220"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=292220"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=292220"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=292220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}