Read-only WooCommerce Stripe reconciliation for payment status, amount, currency, and refund mismatches.
View the Project on GitHub moxianyu6975-cpu/payment-truth-for-woocommerce
Public support threads and issue reports repeatedly describe the same operational risk: the Stripe record and the WooCommerce order can disagree, and the store owner may discover the problem only after reviewing logs or hearing from a customer. These reports do not establish how often the problem occurs across all stores, but they demonstrate that the failure mode is real and can have fulfillment consequences.
In WooCommerce Stripe issue #3154, users reported successful Stripe payments and HTTP 200 webhook responses while orders remained in Pending payment. The issue links several related WordPress.org support reports and was labeled as a confirmed bug.
The important operational distinction is that an HTTP 200 response proves that an endpoint returned successfully; it does not, by itself, prove that every downstream order update completed as intended.
WooCommerce Stripe issue #2660 documents status-transition problems after repeated Strong Customer Authentication attempts. The public discussion includes cases where a later payment succeeded but the WooCommerce order remained failed or pending, sometimes with a different PaymentIntent reference.
This is why reconciliation should begin with exact identifiers, amounts, currencies, and timestamps rather than a status label alone.
The official WooCommerce Stripe Gateway support forum continues to contain reports involving paid orders left pending, status transitions that do not follow payment outcomes, and amounts sent differently from the WooCommerce order. A recent example discusses an order status that did not change to Failed after a decline.
These reports have different causes and should not be treated as one defect. The common need is visibility: store operators need to know when the two systems disagree so they can investigate the exact transaction.
A safe comparison keeps diagnosis separate from state-changing actions:
Payment Truth for WooCommerce implements that comparison as a read-only second opinion. It reports evidence and never edits orders, captures money, issues refunds, retries payments, or claims that a mismatch proves a webhook failure.
Public reports establish that these disagreement patterns occur; they do not provide a reliable incidence rate or prove demand for any particular plugin. Product-market fit must be measured separately through active installations, support conversations, retained usage, and reports from real store operators.