Description
Sometimes a customer pays with Stripe, but the WooCommerce order never hears about it: a webhook is missed, the customer closes the tab before the redirect back, or a confirmation gets lost. The money is in your Stripe account, while the order sits in “Pending payment”, “Failed”, “On hold” or even “Cancelled”, and the customer waits for goods that never ship.
Paidcheck finds those orders. Open WooCommerce > Paidcheck, choose how far back to look (1, 2 or 7 days) and press Check orders. Paidcheck reads each recent unpaid Stripe order’s payment from Stripe and sorts the results:
- Paid, order not updated: Stripe has the full payment (or an uncaptured authorization on a pending or failed order), the order does not.
- Paid, amount differs: Stripe has a payment, but for a different amount or currency.
- No link to a Stripe payment: the order has no Stripe payment recorded, or Stripe does not know it.
- Payment in progress: the payment is still processing or waits for the customer.
- Could not check: Stripe could not be reached for that order; the reason is shown.
Each finding shows the order with a link to edit it, both amounts, both statuses, the payment time and the Stripe payment ID linked to your Stripe Dashboard, so you can fix the order by hand.
Read-only. Paidcheck never changes an order, never adds an order note and never creates, changes or cancels anything in Stripe. Orders created in the last 15 minutes are skipped, so payments still being confirmed are not reported.
Supported gateway. Paidcheck works with the official WooCommerce Stripe Gateway plugin, including its card, wallet and local payment methods. WooPayments is not supported: it does not give the store a Stripe key to read with. Other Stripe plugins are not supported either.
Where the Stripe key comes from. There is nothing to configure. Paidcheck uses the secret key that the WooCommerce Stripe Gateway has saved for its current mode: the test key in test mode, the live key otherwise. The key is used only for the requests below; Paidcheck does not store, display or log it.
The last result stays on the screen until the next check and holds order numbers, statuses, amounts and Stripe payment IDs only, no customer names, emails or addresses. Paidcheck supports High-Performance Order Storage.
External services
Paidcheck connects to the Stripe API (api.stripe.com), provided by Stripe, to read the payment state of your orders.
- When: only while a shop manager runs a check on the WooCommerce > Paidcheck screen. Nothing is sent in the background.
- What is sent: for each checked order, a read request for the PaymentIntent or Checkout Session ID that the WooCommerce Stripe Gateway recorded on the order, authenticated with the gateway’s secret key. No customer data is sent.
- What is received: Stripe returns the full payment object, which includes the latest charge and, for a Checkout Session, the session. These can contain the customer’s billing name, email and address as Stripe recorded them. Paidcheck uses only the payment’s ID, status, amount, currency, creation time and refund flag; it stores and shows nothing else, and keeps no customer details.
Stripe Services Agreement and Privacy Policy.
Screenshots


Installation
- Install and activate WooCommerce and the WooCommerce Stripe Gateway.
- Install Paidcheck through the Plugins screen, or upload it to
/wp-content/plugins/, and activate it. - Open WooCommerce > Paidcheck and press Check orders.
FAQ
-
Will Paidcheck mark my orders as paid?
-
No. It only reports. Open the order from the report, compare it with the payment in your Stripe Dashboard and update it yourself.
-
Which orders are checked?
-
Orders placed with the WooCommerce Stripe Gateway in the last 1, 2 or 7 days that are pending payment, failed, on hold or cancelled, and older than 15 minutes.
-
The report says “No link” for an order that was paid. Why?
-
The order has no Stripe payment ID, or Stripe does not know that ID for the key in use. A common cause is an order paid in test mode while the gateway is now in live mode, or the other way round. The report shows which mode was checked.
-
Who can use it?
-
Users who can manage WooCommerce, such as administrators and shop managers.
-
Does it work with many orders?
-
Yes. The check runs in small batches with a progress indicator, so hundreds of orders finish without hitting your server’s time limit.
-
What happens to my data if I delete the plugin?
-
Deleting Paidcheck removes its last result and any unfinished check. Orders and gateway settings are never touched.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Paidcheck – Find Orders Paid with Stripe but Stuck in Pending for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsInterested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release.
