{"id":359148,"date":"2026-09-03T12:44:43","date_gmt":"2026-09-03T12:44:43","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/storeproof-order-integrity-for-woocommerce\/"},"modified":"2026-09-03T12:22:48","modified_gmt":"2026-09-03T12:22:48","slug":"ordafide-order-integrity-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ordafide-order-integrity-for-woocommerce\/","author":15421869,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"trunk","tested":"7.1","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Ordafide Order Integrity for WooCommerce","header_author":"Premium Themes","header_description":"Finds stuck, missing, duplicated and silently failed WooCommerce orders, checks that order emails actually sent, and monitors the background job queue. No external services.","assets_banners_color":"f9fafe","last_updated":"2026-09-03 12:22:48","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.premium-themes.co\/ordafide-order-integrity-for-woocommerce\/","header_author_uri":"https:\/\/www.premium-themes.co\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":12,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3679724,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3679724,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3679724,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3679724,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3679724,"resolution":"1","location":"assets","locale":"","width":1440,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3679724,"resolution":"2","location":"assets","locale":"","width":1440,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3679724,"resolution":"3","location":"assets","locale":"","width":1440,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3679724,"resolution":"4","location":"assets","locale":"","width":1440,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3679724,"resolution":"5","location":"assets","locale":"","width":1440,"height":900},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3679724,"resolution":"6","location":"assets","locale":"","width":1440,"height":900}},"screenshots":{"1":"The findings inbox. Every problem in one plain sentence, sorted with the most expensive first, and totalled as money at risk.","2":"One finding opened: why it matters, the evidence behind it, and what to check before you touch anything.","3":"Store health. The background job queue, the WordPress scheduler and order email delivery, each with a plain-language cause.","4":"The activity log. Every change the plugin made, who asked for it, and an Undo for the ones that can be reversed.","5":"Settings. Every check can be switched off and every threshold adjusted to suit how your store trades.","6":"The built-in help screen, with a setup checklist that reflects your store's actual state and a search box."}},"plugin_section":[],"plugin_tags":[21484,16281,1887,279018,286],"plugin_category":[45],"plugin_contributors":[143197],"plugin_business_model":[],"class_list":["post-359148","plugin","type-plugin","status-publish","hentry","plugin_tags-order-status","plugin_tags-orders","plugin_tags-payments","plugin_tags-stuck-orders","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-premiumthemes","plugin_committers-premiumthemes"],"banners":{"banner":"https:\/\/ps.w.org\/ordafide-order-integrity-for-woocommerce\/assets\/banner-772x250.png?rev=3679724","banner_2x":"https:\/\/ps.w.org\/ordafide-order-integrity-for-woocommerce\/assets\/banner-1544x500.png?rev=3679724","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ordafide-order-integrity-for-woocommerce\/assets\/icon-128x128.png?rev=3679724","icon_2x":"https:\/\/ps.w.org\/ordafide-order-integrity-for-woocommerce\/assets\/icon-256x256.png?rev=3679724","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ordafide-order-integrity-for-woocommerce\/assets\/screenshot-1.png?rev=3679724","caption":"The findings inbox. Every problem in one plain sentence, sorted with the most expensive first, and totalled as money at risk."},{"src":"https:\/\/ps.w.org\/ordafide-order-integrity-for-woocommerce\/assets\/screenshot-2.png?rev=3679724","caption":"One finding opened: why it matters, the evidence behind it, and what to check before you touch anything."},{"src":"https:\/\/ps.w.org\/ordafide-order-integrity-for-woocommerce\/assets\/screenshot-3.png?rev=3679724","caption":"Store health. The background job queue, the WordPress scheduler and order email delivery, each with a plain-language cause."},{"src":"https:\/\/ps.w.org\/ordafide-order-integrity-for-woocommerce\/assets\/screenshot-4.png?rev=3679724","caption":"The activity log. Every change the plugin made, who asked for it, and an Undo for the ones that can be reversed."},{"src":"https:\/\/ps.w.org\/ordafide-order-integrity-for-woocommerce\/assets\/screenshot-5.png?rev=3679724","caption":"Settings. Every check can be switched off and every threshold adjusted to suit how your store trades."},{"src":"https:\/\/ps.w.org\/ordafide-order-integrity-for-woocommerce\/assets\/screenshot-6.png?rev=3679724","caption":"The built-in help screen, with a setup checklist that reflects your store's actual state and a search box."}],"raw_content":"<!--section=description-->\n<p>Some WooCommerce orders fail quietly. A customer is charged, the gateway notification never arrives, and the order sits on Pending payment until it auto-cancels. A payment is captured twice. A refund is issued in the gateway and never recorded in WooCommerce. The background job queue stalls and every order email stops going out. None of this raises an alarm. You find out when a customer emails asking where their parcel is, or when an accountant finds a hole months later.<\/p>\n\n<p>Ordafide scans your recent orders and tells you, in plain sentences and in money, which ones do not add up.<\/p>\n\n<h4>What it checks<\/h4>\n\n<ul>\n<li><strong>Stuck payment<\/strong> \u2014 orders left on Pending payment or Failed even though the gateway wrote a payment reference on them.<\/li>\n<li><strong>Paid but cancelled<\/strong> \u2014 orders with a confirmed payment date sitting in Cancelled or Failed, with nothing refunded.<\/li>\n<li><strong>Duplicate charge<\/strong> \u2014 one gateway payment reference attached to two orders, or the same customer charged twice for an identical basket within minutes.<\/li>\n<li><strong>Refund mismatch<\/strong> \u2014 orders marked Refunded with no refund record, refunds larger than the order, and fully refunded orders still marked Processing.<\/li>\n<li><strong>Order total does not add up<\/strong> \u2014 items plus shipping plus fees plus tax does not equal the stored total.<\/li>\n<li><strong>Customer never emailed<\/strong> \u2014 paid orders where no customer email reached your mail server, or where every attempt was rejected.<\/li>\n<\/ul>\n\n<p>It also watches the two things that make everything else fail at once:<\/p>\n\n<ul>\n<li><strong>Background job queue health<\/strong> \u2014 how far behind Action Scheduler is, how many jobs failed, and the most likely cause in plain language rather than queue jargon.<\/li>\n<li><strong>Order email delivery<\/strong> \u2014 every WooCommerce email recorded against its order, with the result the mail server returned, and a one-click resend.<\/li>\n<\/ul>\n\n<h4>Everything runs on your own server<\/h4>\n\n<p>Ordafide contacts no third party. There is no account, no licence key, no API, no analytics and no phone-home. Every check runs against your own database. The only outbound request it can make is an optional loopback test that asks your site to call its own wp-cron.php, and it only happens when you press the button.<\/p>\n\n<h4>It will not touch your money<\/h4>\n\n<p>Ordafide never captures, refunds or voids a payment. It offers exactly two repairs, both written to an activity log:<\/p>\n\n<ul>\n<li>resend a WooCommerce customer email \u2014 this cannot be undone, because an email cannot be unsent<\/li>\n<li>restore an order to Processing when WooCommerce itself recorded a confirmed payment date on it, which you can undo from the activity log<\/li>\n<\/ul>\n\n<p>Everything else is a link to the order and an explanation of what to check in your gateway dashboard.<\/p>\n\n<h4>Built for real stores<\/h4>\n\n<ul>\n<li>High-Performance Order Storage (HPOS) native, and works on the legacy post store too.<\/li>\n<li>Scans in batches through Action Scheduler, so a store with hundreds of thousands of orders never times out.<\/li>\n<li>Block and classic checkout compatible.<\/li>\n<li>WP-CLI commands for agencies: <code>wp ordafide scan<\/code>, <code>wp ordafide findings<\/code>, <code>wp ordafide health<\/code>, <code>wp ordafide digest<\/code>.<\/li>\n<li>Optional weekly summary email, sent only when there is something to report.<\/li>\n<li>A built-in <strong>Help<\/strong> screen explaining every check, what causes it, how to confirm it in your gateway and what to do \u2014 with a live setup checklist and a search box, so nobody has to leave the admin to look something up.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce.<\/li>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/<\/code>, or install it from Plugins, Add New.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to Ordafide and press <strong>Scan now<\/strong>.<\/li>\n<li>Not sure what something means? <strong>Ordafide, Help<\/strong> explains every check and every setting.<\/li>\n<\/ol>\n\n<p>The first scan looks back 30 days by default. You can change that under Ordafide, Settings.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20there%20a%20paid%20version%3F\"><h3>Is there a paid version?<\/h3><\/dt>\n<dd><p>Yes. Ordafide Pro is a separate add-on that adds live reconciliation against Stripe, PayPal, Square, Mollie and Razorpay, synthetic checkout monitoring, Slack, SMS and webhook alerting, order volume anomaly detection, historical audit export and a multi-store agency dashboard. Everything described above stays free and keeps working whether or not you ever buy it. The free plugin does not nag, does not expire and does not phone home.<\/p><\/dd>\n<dt id=\"does%20this%20send%20my%20order%20data%20anywhere%3F\"><h3>Does this send my order data anywhere?<\/h3><\/dt>\n<dd><p>No. There is no external service. Every check is a query against your own database. The plugin has no licence server and no analytics.<\/p><\/dd>\n<dt id=\"will%20it%20change%20my%20orders%3F\"><h3>Will it change my orders?<\/h3><\/dt>\n<dd><p>Only if you tell it to, and only in two ways: resending a customer email, or restoring an order to Processing when WooCommerce already recorded a confirmed payment date on it. Both are written to an activity log, and the status change can be undone. Ordafide never captures, refunds or voids a payment.<\/p><\/dd>\n<dt id=\"why%20does%20it%20say%20an%20order%20has%20no%20customer%20email%20when%20i%20know%20one%20was%20sent%3F\"><h3>Why does it say an order has no customer email when I know one was sent?<\/h3><\/dt>\n<dd><p>The email log starts the moment you activate the plugin. Orders placed before that cannot be judged and are skipped. If a genuinely recent order shows this, the email really was not handed to your mail server, which usually means the background job queue is stalled or your mail configuration is broken.<\/p><\/dd>\n<dt id=\"is%20it%20safe%20on%20a%20big%20store%3F\"><h3>Is it safe on a big store?<\/h3><\/dt>\n<dd><p>Yes. Scans run in batches of 100 orders through Action Scheduler, and every query is bounded. On a test store of 600 orders a full scan took under a second. Nothing runs on your front end.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20hpos%3F\"><h3>Does it work with HPOS?<\/h3><\/dt>\n<dd><p>Yes. Ordafide declares compatibility with High-Performance Order Storage and reads orders through the WooCommerce CRUD layer, so it behaves identically whether your store uses the new order tables or the legacy post store.<\/p><\/dd>\n<dt id=\"it%20flagged%20something%20that%20is%20fine.%20what%20do%20i%20do%3F\"><h3>It flagged something that is fine. What do I do?<\/h3><\/dt>\n<dd><p>Press Ignore on the finding, or turn that check off under Settings. You can also raise the thresholds \u2014 the stuck payment window, the duplicate order window and the rounding tolerance are all configurable.<\/p><\/dd>\n<dt id=\"does%20it%20need%20action%20scheduler%3F\"><h3>Does it need Action Scheduler?<\/h3><\/dt>\n<dd><p>It uses Action Scheduler when WooCommerce provides it, which is always in a normal install. If it is unavailable, scans fall back to running in the same request.<\/p><\/dd>\n<dt id=\"who%20can%20see%20the%20findings%3F\"><h3>Who can see the findings?<\/h3><\/dt>\n<dd><p>Anyone with the <code>manage_woocommerce<\/code> capability, which normally means shop managers and administrators.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<li>Six order integrity checks: stuck payment, paid but cancelled, duplicate charge, refund mismatch, order total mismatch, customer never emailed.<\/li>\n<li>Background job queue and WordPress scheduler health with plain-language causes.<\/li>\n<li>Per-order email log with one-click resend.<\/li>\n<li>Two logged repairs with a full activity log; the status change can be undone.<\/li>\n<li>A Help screen explaining every check and every setting, with a live setup checklist and a search filter.<\/li>\n<li>Weekly summary email.<\/li>\n<li>WP-CLI commands.<\/li>\n<li>HPOS native.<\/li>\n<li>Extension points so add-ons can register their own checks and react to findings and repairs.<\/li>\n<\/ul>","raw_excerpt":"Finds stuck, missing, duplicated and silently failed WooCommerce orders, checks order emails really sent, and watches the background job queue.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/359148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=359148"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/premiumthemes"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=359148"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=359148"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=359148"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=359148"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=359148"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=359148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}