Read-only WooCommerce Stripe reconciliation for payment status, amount, currency, and refund mismatches.
View the Project on GitHub moxianyu6975-cpu/payment-truth-for-woocommerce
WooCommerce–Stripe reconciliation means matching each order to its Stripe PaymentIntent or charge, then comparing payment status, gross amount, currency, and refunded total. A safe workflow identifies disagreements first and keeps state-changing actions separate from diagnosis.
Collect these fields from both systems:
| Evidence | WooCommerce | Stripe |
|---|---|---|
| Identifier | Order ID/number and transaction ID | PaymentIntent or charge ID |
| Status | Order status and paid date | PaymentIntent or charge status |
| Amount | Gross order total | Authorized or collected amount |
| Currency | Order currency | Payment currency |
| Refunds | Total refunded amount | Refund total attached to the charge |
| Timing | Creation, paid, and note timestamps | Object, event, and refund timestamps |
Do not match records only by customer name, displayed amount, or approximate time when a provider identifier is available.
Payment Truth for WooCommerce implements this read-only comparison for stores using the official WooCommerce Stripe Gateway. It scans a configurable recent window, uses the gateway’s existing Stripe connection, stores normalized findings without customer identity or card data, and can send opt-in alerts for newly opened findings.
It does not replace accounting reconciliation, repair webhooks, edit orders, capture money, or issue refunds. Those boundaries keep detection separate from financial and fulfillment decisions.