Verify which system wrote the label and what that system's current documentation says it means, then read the provider payment for the same reference. WooCommerce pending payment means the order was received and no payment has been made. WooCommerce processing means the store has recorded a payment. A Stripe PaymentIntent can be succeeded, still processing, waiting for capture, or waiting for the buyer. A Checkout session can be complete while payment processing is still in progress. Do not fulfill from the store word alone when the provider record for that reference says something else. Describe the work you need. Prism will confirm scope, responsibilities, fees, and terms before work begins.
For: An owner or authorized representative of a research-use-only peptide business whose store label and payment-provider label disagree.
Updated 2026-09-21
The label belongs to the system that wrote it
Pending, paid, processing, and complete are ordinary words. WooCommerce, Stripe's PaymentIntent, and Stripe Checkout each define their own. A store status is what the store, usually through the payment integration, saved on the order. It is evidence of what the integration wrote. It is not a second copy of the provider's payment object unless you have compared them.
Before you rely on the label, name the screen it came from, the reference on that screen, and the reference on the other system. If you cannot find the provider payment, the store label is unverified. Leave the provider column blank rather than inferring it.
What WooCommerce's labels say
WooCommerce says every order has a status. Draft is a temporary block-checkout record before the order is submitted, and it is not the same as a submitted unpaid order. Pending payment means the order has been received and no payment has been made. Processing means payment has been received, stock has been reduced, and the order is awaiting fulfillment. Completed means the order has been fulfilled. On hold means the order is awaiting payment confirmation: stock is reduced, but you still need to confirm payment. WooCommerce says on hold is used for some offline methods, some delayed notifications, and some separate authorization and capture flows, and that the order may later move on its own. Failed means the payment failed or was declined and no payment has been made. Cancelled means an admin or the buyer cancelled it. Refunded means an admin or shop manager fully refunded the order value, and a manual refund can reach that status without the funds having been returned.
WooCommerce's own email guide says a pending-payment order that you have nevertheless been paid for means the order is not being updated. In that case the gateway communication is the problem. The pending label is then the wrong description of the payment, which is why the provider record has to be opened.
What Stripe's labels say when Stripe is the provider
Stripe says the Dashboard payment status summarizes the payment and does not include every PaymentIntent detail. requires_payment_method, requires_confirmation, and requires_action commonly appear as Incomplete. requires_action includes a further step such as 3D Secure. processing appears as Pending and, for an asynchronous method, the payment cannot yet be guaranteed. requires_capture appears as Uncaptured or Partial capture. succeeded means that payment flow is complete and Stripe says the funds are in the account and you can fulfill the order. A later refund or dispute is recorded on the Charge and can change the Dashboard even while the PaymentIntent remains succeeded. canceled means the payment was canceled.
A Stripe Checkout session has a separate status and a payment_status. The session status complete means the checkout session is complete and payment processing may still be in progress. open means the session is still in progress and payment processing has not started. expired means no further processing will occur. payment_status paid means the payment funds are available in the account, with the trial-invoice case Stripe describes. unpaid means the funds are not yet available. Stripe says you can use payment_status when deciding whether to fulfill, and also says you cannot rely only on the buyer reaching the success page.
WooCommerce Processing and Stripe processing are different fields. Checkout complete and payment_status paid are different fields. Write the field name next to the word.
What you can decide
You can decide whether you have both records, whether their references match, and whether their documented meanings agree. You can hold fulfillment when they do not agree or when the provider status is still processing, requires_action, requires_capture, or unpaid. You cannot decide that a store label has updated the provider, or that a provider status has updated the store, without looking.
The integration owner has to explain a store that stays pending after the provider shows succeeded. The provider decides the payment status and any later dispute or refund. Prism can help you organize a recurring mismatch for a checkout conversation. An inquiry alone does not authorize an order-status change or shipment; confirm any implementation assistance separately.
Another platform's pending or paid label is unknown until that platform's current document is read. Do not apply the WooCommerce or Stripe sentences to it.
Status-label comparison
Use one order. Write the exact label and the system it came from. A blank provider cell means you have not verified the payment. Worksheet entries are not submitted by this worksheet or saved by this site. Use only non-sensitive summaries; do not enter credentials, government identifiers, card or bank-account numbers, private receipt links, or customer details.
Worksheet entries are not submitted by Prism’s worksheet and are not saved by the site. Use record types, availability, anonymized observations, or match/mismatch results. Do not enter government identifiers, customer names or addresses, customer messages, receipt-access links, card or bank details, passwords, or keys. Send sensitive documents only through the provider’s verified secure channel.
Status-label comparison. The last column is for temporary notes.
Label
What the current document says
Do not treat it as
What this order shows
WooCommerce pending payment
What the current document saysThe order was received and no payment has been made. It is generally waiting for the buyer.
Do not treat it asA paid order. If the provider has a succeeded payment, WooCommerce says the store was not updated.
WooCommerce processing
What the current document saysThe store has recorded the payment, reduced stock, and is waiting for fulfillment.
Do not treat it asThe provider's payment status. Confirm the provider reference separately.
WooCommerce on hold
What the current document saysPayment confirmation is still required. Stock is reduced. Delayed and separately captured payments can use this status.
Do not treat it asA final payment result. Read the order notes and the gateway document.
WooCommerce failed
What the current document saysThe payment failed or was declined and no payment has been made. Delayed methods may sit on hold before they fail.
Do not treat it asProof that the provider never created a payment object. Check the provider anyway.
Stripe PaymentIntent succeeded
What the current document saysThat payment flow is complete and Stripe says the funds are in the account. A later refund or dispute lives on the Charge.
Do not treat it asA permanent statement that the order was never refunded or disputed.
Stripe PaymentIntent processing
What the current document saysRequired actions are done and an asynchronous method is still pending. The payment is not yet guaranteed.
Do not treat it asWooCommerce Processing, and not an instruction to ship.
Stripe requires_capture
What the current document saysThe payment used separate capture. The Dashboard shows uncaptured or partial capture.
Do not treat it asA captured payment, unless the capture is also recorded.
Checkout session complete
What the current document saysThe Checkout session is complete. Payment processing may still be in progress.
Do not treat it aspayment_status paid. Read payment_status as well.
Checkout payment_status unpaid
What the current document saysThe payment funds are not yet available in the account.
Do not treat it asA successful return to the store's success page.
These are temporary notes. Leaving or reloading this page may clear them. The consultation form does not include these entries.
Limits
A Prism consultation can help you organize the facts and discuss the website or processing question. The payment provider decides eligibility, pricing, reserves, and whether an account is opened or closed.
The store labels are WooCommerce's. The payment labels are Stripe's. Another stack needs its own status document before you reuse this table.
Agreement between the two records is not a processing approval and does not set a reserve or a fee.
Do not send card numbers, customer lists, or passwords through the public consultation form.
WooCommerce order statuses — checked 2026-09-21. Defines draft, pending payment, processing, completed, on hold, failed, cancelled, and refunded, including that on hold still needs payment confirmation and that a manual refund can show Refunded without the funds being returned.
WooCommerce email troubleshooting — checked 2026-09-21. A pending-payment order for which payment was received means the order is not being updated and the gateway communication needs to be reviewed.
Payment status updates — checked 2026-09-21. Maps PaymentIntent statuses to Dashboard labels, including succeeded, processing, requires_capture, and requires_action, and says later refunds and disputes are on the Charge.
Checkout Session object — checked 2026-09-21. Session status complete can still have payment processing in progress. payment_status is paid, unpaid, or no_payment_required, and Stripe says it can be used when deciding whether to fulfill.
Fulfill orders with Checkout — checked 2026-09-21. Fulfillment cannot rely only on the buyer reaching the checkout landing page.
Request a consultation
Describe the business and this specific question. Prism follows up by email to discuss fit and scope. An inquiry is not a processing application or an approval.