{"id":337464,"date":"2026-07-14T12:29:17","date_gmt":"2026-07-14T12:29:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/payment-debugger-for-payfast\/"},"modified":"2026-07-21T06:46:04","modified_gmt":"2026-07-21T06:46:04","slug":"debugpay-toolkit-for-payfast","status":"publish","type":"plugin","link":"https:\/\/nb.wordpress.org\/plugins\/debugpay-toolkit-for-payfast\/","author":17735965,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.0","stable_tag":"1.5.0","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"DebugPay Toolkit for Payfast","header_author":"Ravi Khadka","header_description":"Diagnostic logging and reports for Payfast payments in WooCommerce when successful payments do not update order status as expected.","assets_banners_color":"bde3d8","last_updated":"2026-07-21 06:46:04","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/developerravi.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":197,"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":"ravikhadka","date":"2026-07-14 14:25:51"},"1.1.0":{"tag":"1.1.0","author":"ravikhadka","date":"2026-07-15 05:16:27"},"1.2.0":{"tag":"1.2.0","author":"ravikhadka","date":"2026-07-17 03:27:29"},"1.3.0":{"tag":"1.3.0","author":"ravikhadka","date":"2026-07-17 08:06:18"},"1.4.0":{"tag":"1.4.0","author":"ravikhadka","date":"2026-07-20 10:30:19"},"1.5.0":{"tag":"1.5.0","author":"ravikhadka","date":"2026-07-21 06:46:04"}},"upgrade_notice":{"1.5.0":"<p>Adds a read-only Payfast Callback Readiness Check and copyable callback troubleshooting report.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3607448,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3607448,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3607448,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3607448,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.2.0","1.3.0","1.4.0","1.5.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3607448,"resolution":"1","location":"assets","locale":"","width":1200,"height":760},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3607448,"resolution":"2","location":"assets","locale":"","width":1200,"height":760},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3607448,"resolution":"3","location":"assets","locale":"","width":1200,"height":760}},"screenshots":{"1":"DebugPay Toolkit logs screen with Payfast payment diagnostics, filters, pagination, and issue labels.","2":"WooCommerce order payment debug panel with timeline, mode labels, and copyable support report.","3":"Setup and diagnostics view for Payfast-compatible gateway detection, sandbox\/live mode, and site checks."}},"plugin_section":[],"plugin_tags":[23519,15615,6593,268328,286],"plugin_category":[45],"plugin_contributors":[185018],"plugin_business_model":[],"class_list":["post-337464","plugin","type-plugin","status-publish","hentry","plugin_tags-diagnostics","plugin_tags-payfast","plugin_tags-payment-gateway","plugin_tags-payment-logs","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-ravikhadka","plugin_committers-ravikhadka"],"banners":{"banner":"https:\/\/ps.w.org\/debugpay-toolkit-for-payfast\/assets\/banner-772x250.png?rev=3607448","banner_2x":"https:\/\/ps.w.org\/debugpay-toolkit-for-payfast\/assets\/banner-1544x500.png?rev=3607448","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/debugpay-toolkit-for-payfast\/assets\/icon-128x128.png?rev=3607448","icon_2x":"https:\/\/ps.w.org\/debugpay-toolkit-for-payfast\/assets\/icon-256x256.png?rev=3607448","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/debugpay-toolkit-for-payfast\/assets\/screenshot-1.png?rev=3607448","caption":"DebugPay Toolkit logs screen with Payfast payment diagnostics, filters, pagination, and issue labels."},{"src":"https:\/\/ps.w.org\/debugpay-toolkit-for-payfast\/assets\/screenshot-2.png?rev=3607448","caption":"WooCommerce order payment debug panel with timeline, mode labels, and copyable support report."},{"src":"https:\/\/ps.w.org\/debugpay-toolkit-for-payfast\/assets\/screenshot-3.png?rev=3607448","caption":"Setup and diagnostics view for Payfast-compatible gateway detection, sandbox\/live mode, and site checks."}],"raw_content":"<!--section=description-->\n<p>DebugPay Toolkit for Payfast helps WooCommerce store owners, developers, and support teams investigate Payfast payment issues without acting as a payment gateway.<\/p>\n\n<p>Use it when Payfast payment activity appears successful but a WooCommerce order stays pending, failed, cancelled, on-hold, or unpaid. The plugin creates local payment logs, order debug panels, and reports for comparing order activity, callback delivery, ITN observations, sandbox\/live mode signals, and common mismatch symptoms.<\/p>\n\n<p>The plugin records WooCommerce order creation events for Payfast-related orders, order status changes, likely Payfast ITN\/callback metadata on recognized WooCommerce callback routes, and environment diagnostics. It does not change order statuses automatically.<\/p>\n\n<p>This plugin does not include, register, enable, or replace a payment gateway. For full logging, your site must already have an active Payfast-compatible WooCommerce gateway that creates Payfast orders and receives Payfast callbacks. If no compatible gateway is detected, the admin screen shows setup diagnostics and a non-affiliated checklist.<\/p>\n\n<p>DebugPay Toolkit for Payfast is an independent diagnostic tool and is not affiliated with, endorsed by, or sponsored by Payfast, WooCommerce, Woo, Automattic, or WordPress.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li>Custom database table for local diagnostic logs.<\/li>\n<li>WooCommerce &gt; DebugPay Toolkit admin page.<\/li>\n<li>Summary cards, AJAX filters, AJAX pagination, log detail view, CSV export, and clear logs action.<\/li>\n<li>Settings for logging, retention, maximum logs, customer data masking, and uninstall cleanup.<\/li>\n<li>WooCommerce order admin payment debug panel.<\/li>\n<li>Human-readable copyable debug reports.<\/li>\n<li>Payfast Health Check with setup status, last activity, ITN\/callback observation, issue counts, and recommended actions.<\/li>\n<li>Payfast Callback Readiness Check for SSL, permalinks, gateway detection, mode labels, and ITN history.<\/li>\n<li>Payfast Test Run Assistant for reviewing a manually tested WooCommerce order by order ID.<\/li>\n<li>Payfast Support Pack for sanitized order, health, and log context.<\/li>\n<li>Sanitized diagnostic report export for developers and support teams.<\/li>\n<li>Built-in issue guide for common Payfast payment gateway and WooCommerce order update problems.<\/li>\n<li>Issue classification for common payment\/order mismatch scenarios.<\/li>\n<li>Site diagnostics for WooCommerce, Payfast gateway detection, SSL, permalinks, WP debug, and log table status.<\/li>\n<li>Setup guidance when no Payfast-compatible WooCommerce gateway is detected.<\/li>\n<li>Sandbox\/live diagnostics that label activity as Sandbox, Live, or Unknown when safe signals are available.<\/li>\n<li>WordPress.org Live Preview blueprint for a quick browser-based demo environment.<\/li>\n<\/ul>\n\n<h4>What This Plugin Does Not Do<\/h4>\n\n<ul>\n<li>It does not create, register, enable, or replace a Payfast payment gateway.<\/li>\n<li>It does not process payments or collect card or bank details.<\/li>\n<li>It does not automatically mark orders paid, cancel orders, or retry callbacks.<\/li>\n<li>It does not store Payfast passphrases, API secrets, passwords, or sensitive tokens.<\/li>\n<li>It does not claim official affiliation with Payfast, WooCommerce, Woo, Automattic, or WordPress.<\/li>\n<\/ul>\n\n<h4>Privacy<\/h4>\n\n<p>This plugin does not phone home, track usage, or load remote assets. It stores diagnostic data locally in your WordPress database.<\/p>\n\n<p>The plugin avoids storing passwords, secrets, passphrases, API keys, sensitive tokens, and card or bank details. Diagnostic log rows include event details, order\/payment identifiers, request IP address, and user agent. Customer email and billing phone are masked in generated reports by default.<\/p>\n\n<p>Sandbox\/live diagnostics are read-only. The plugin may inspect safe gateway settings, endpoint hostnames, and callback context to label activity as Sandbox, Live, or Unknown. It does not modify gateway mode and does not read or store Payfast passphrases, API secrets, or sensitive credentials.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/debugpay-toolkit-for-payfast\/<\/code>.<\/li>\n<li>Activate the plugin from the Plugins screen.<\/li>\n<li>Make sure a Payfast-compatible WooCommerce payment gateway is installed and enabled if you want full payment logging.<\/li>\n<li>Open WooCommerce &gt; DebugPay Toolkit.<\/li>\n<li>Confirm logging is enabled and review diagnostics.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20a%20payfast%20payment%20gateway%20for%20woocommerce%3F\"><h3>Is this a Payfast payment gateway for WooCommerce?<\/h3><\/dt>\n<dd><p>No. This plugin is a Payfast payment diagnostics and logging tool for WooCommerce. You still need an active Payfast-compatible WooCommerce gateway to accept payments and receive full logging.<\/p><\/dd>\n<dt id=\"will%20this%20fix%20payfast%20orders%20that%20stay%20pending%3F\"><h3>Will this fix Payfast orders that stay pending?<\/h3><\/dt>\n<dd><p>No. The plugin does not change order status or alter payment processing. It helps identify why a Payfast-related WooCommerce order may remain pending, failed, cancelled, on-hold, or unpaid.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20change%20woocommerce%20order%20statuses%3F\"><h3>Does this plugin change WooCommerce order statuses?<\/h3><\/dt>\n<dd><p>No. The plugin only logs diagnostics and builds reports. It does not mark orders paid, cancel orders, or retry callbacks.<\/p><\/dd>\n<dt id=\"can%20it%20diagnose%20payfast%20itn%20or%20callback%20problems%3F\"><h3>Can it diagnose Payfast ITN or callback problems?<\/h3><\/dt>\n<dd><p>Yes, it can log likely Payfast ITN\/callback activity on recognized WooCommerce callback routes and show whether an ITN was observed. It does not take over gateway validation or guarantee that a callback was accepted by the payment gateway.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20validate%20payfast%20signatures%3F\"><h3>Does this plugin validate Payfast signatures?<\/h3><\/dt>\n<dd><p>Only when a verified value is available from a safe integration point. The plugin does not request or store your Payfast passphrase and does not replace the gateway validation flow, so callback observations usually show signature status as \"Unknown\" rather than pretending validation passed.<\/p><\/dd>\n<dt id=\"does%20it%20compare%20payfast%20paid%20amount%20with%20the%20woocommerce%20order%20total%3F\"><h3>Does it compare Payfast paid amount with the WooCommerce order total?<\/h3><\/dt>\n<dd><p>Only when both values are safely available. If the plugin cannot confidently compare the paid amount and order total, the amount check remains \"Unknown\".<\/p><\/dd>\n<dt id=\"what%20is%20the%20test%20run%20assistant%3F\"><h3>What is the Test Run Assistant?<\/h3><\/dt>\n<dd><p>It is a read-only checklist and order analyzer for a manual Payfast test order. It reviews local logs, ITN\/callback observation, sandbox\/live mode, and known mismatch signals. It does not create orders, process payments, contact Payfast, or change WooCommerce order status.<\/p><\/dd>\n<dt id=\"what%20is%20the%20support%20pack%3F\"><h3>What is the Support Pack?<\/h3><\/dt>\n<dd><p>The Support Pack creates a local, sanitized text summary for one WooCommerce order, including order status, Payfast mode labels, recent logs, health status, and support questions. Review it before sharing.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20woocommerce%20or%20payfast%20is%20inactive%3F\"><h3>What happens if WooCommerce or Payfast is inactive?<\/h3><\/dt>\n<dd><p>The plugin does not fatal error. It shows an admin notice if WooCommerce is unavailable and reports Payfast gateway detection as no or unknown where appropriate. If no Payfast-compatible WooCommerce gateway is detected, it shows setup guidance and a checklist. It does not provide or enable a payment gateway.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20data%20to%20an%20external%20service%3F\"><h3>Does the plugin send data to an external service?<\/h3><\/dt>\n<dd><p>No. It does not phone home, track usage, or load remote assets. Diagnostic data is stored locally in your WordPress database.<\/p><\/dd>\n<dt id=\"can%20i%20delete%20plugin%20data%20on%20uninstall%3F\"><h3>Can I delete plugin data on uninstall?<\/h3><\/dt>\n<dd><p>Yes. Enable \"Delete data on uninstall\" in WooCommerce &gt; DebugPay Toolkit before uninstalling.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Added Payfast Callback Readiness Check for local ITN\/callback troubleshooting.<\/li>\n<li>Added copyable Callback Readiness Report with site URL, possible WooCommerce callback route, gateway detection, sandbox\/live labels, SSL, permalinks, and ITN history.<\/li>\n<li>Added manual checklist for gateway URL confirmation, public HTTPS access, firewall\/caching rules, WooCommerce logs, PHP errors, and post-test log review.<\/li>\n<li>Kept callback checks local and read-only: no test callbacks, no Payfast connection, and no gateway or order status changes.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added Payfast Support Pack with sanitized WooCommerce order, mode, health, and log context.<\/li>\n<li>Added suggested support questions for ITN\/callback delivery, sandbox\/live mode, gateway credentials, logs, firewall rules, and caching.<\/li>\n<li>Improved dashboard cards so text values such as Unknown, Observed, and issue labels display correctly.<\/li>\n<li>Kept the support pack read-only and local-only.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added Payfast Test Run Assistant, order-based diagnostics, and Copy Test Run Report.<\/li>\n<li>Kept the assistant read-only with no payment, gateway, or order status changes.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added Payfast Health Check with gateway detection, SSL\/permalink checks, activity, ITN\/callback observation, issue counts, and Copy Health Summary.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added diagnostic report export and Issue Guide for Payfast ITN\/callback, sandbox\/live, amount mismatch, and WooCommerce order status troubleshooting.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release with Payfast payment logging, WooCommerce order diagnostics, ITN\/callback observations, AJAX filters, CSV export, sandbox\/live labels, privacy masking, and HPOS-compatible order panels.<\/li>\n<\/ul>","raw_excerpt":"Payfast payment diagnostics for WooCommerce with local logs, ITN\/callback checks, sandbox\/live labels, and order debug reports.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/nb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/337464","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/nb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/nb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=337464"}],"author":[{"embeddable":true,"href":"https:\/\/nb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ravikhadka"}],"wp:attachment":[{"href":"https:\/\/nb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=337464"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/nb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=337464"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/nb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=337464"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/nb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=337464"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/nb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=337464"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/nb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=337464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}