When a payment notice and the store order disagree
Do not ship, refund, or ask the buyer to pay again from a success page alone. For that one order, line up the store status, the order notes, and the payment provider's transaction, including whether the provider calls the payment final. On WooCommerce, pending payment, on hold, processing, and failed are different states. On hosted Stripe Checkout, Stripe says the landing page is not enough and the Checkout Session payment status has to be checked. Another platform uses its own records. Confirm repair responsibilities separately; the provider’s record determines the payment status. Describe the work you need. Prism will confirm scope, responsibilities, fees, and terms before work begins.
For: An owner or support lead with one real order where a payment message and the store's order record do not say the same thing.
Updated 2026-09-21
Name which disagreement you have
A missing order, a second order for the same attempt, an order still waiting for payment, and a payment the provider marks failed are not one incident. WooCommerce's status guide separates them. Pending payment means the order was received and no payment has been made. Failed means the payment did not succeed, and stock that was reduced is returned. On hold means the store is waiting for confirmation: an offline method, a delayed notification such as the SEPA example WooCommerce gives, or an authorization that is not yet captured. Processing means WooCommerce treats the payment as received and the order as waiting for you to fulfill it. Draft, on the block checkout, is a temporary record before submission, not a paid order.
A page that says the payment worked can sit on top of any of those states. The page is not a WooCommerce status. If you are looking at a duplicate charge, a hosted-checkout return URL, or an outage rather than one conflicting order, use the guide for that problem. This page is the comparison for a single order.
You can sort the report into one of those situations. You cannot, from the buyer's screenshot, decide that money moved.
Use the reference each system actually prints
WooCommerce's troubleshooting guide says the payment method and gateway are on the order, sometimes beside the order number, and otherwise in the order notes. Notes can include a transaction identifier, a decline reason, or a statement that a payment was authorized and still needs capture. If there are no payment notes, WooCommerce says that itself can mean the gateway did not complete its message to the store.
On hosted Stripe Checkout, the identifier Stripe tells you to carry is the Checkout Session ID. Stripe's fulfillment guide says to retrieve that session and read its payment status before fulfilling. A status of unpaid is not a completed payment. Delayed methods can remain in processing and later send checkout.session.async_payment_succeeded or checkout.session.async_payment_failed. Those event names are Stripe Checkout Sessions vocabulary. A WooCommerce Stripe extension, or another provider, may use different identifiers. Use the name printed in that system's record.
Stripe's payout documentation says Stripe processes payments and payouts in UTC, with an exception it states for Asia-Pacific markets. A store note may use the store's clock. Write down which clock each timestamp claims. Do not subtract hours until both records say their zone.
Four comparisons, and the action each one refuses
No matching payment record: if the provider's dashboard has no transaction for the attempt, WooCommerce says not to have the buyer pay again until you have confirmed the first attempt did not create a charge or an authorization. Do not ship. The store status, even pending payment, is not the provider's decision.
Payment not final: an on-hold order can be waiting for an offline check, a delayed bank method, or a capture that has not happened. Stripe Checkout's unpaid status is in the same class of "not final" for that API. Do not fulfill from the status label. Read the note or the session status, then follow that gateway's own capture or timing rules. This page does not supply those clicks.
Provider shows a final charge, store does not: WooCommerce says to follow that gateway's guidance for checking or re-sending its webhook or callback, then reconcile the order before fulfilling it. Do not invent a second capture to force the store to update, and do not mark the order fulfilled because the provider's screen looks complete.
Store order looks paid, confirmation does not: Processing means WooCommerce considers the order paid and ready to fulfill, and it does not move itself to completed. That still fails if the notes say the payment was only authorized, or if the provider shows a different result. A buyer email is not a substitute. WooCommerce sends emails when statuses change; the email is a notice, not the payment record.
Each boundary has an owner and a redacted packet
The store owner can read the order status and notes. The payment provider's support can explain the transaction in its dashboard. The person who maintains the site can say whether a webhook or plugin is configured, using that vendor's current instructions. Prism's published role is a consultation about the storefront and a provider's website questions. Confirm any implementation or event-investigation scope; the provider’s record remains the source for the payment status.
A useful note to any of those parties states the platform, the checkout type if you know it, the store status, whether a transaction identifier is present, the two timestamps and their zones, and what the buyer saw. It states that you have not refunded, shipped, or retried. It omits the card number, the password, the full customer record, and the account login.
You can assemble that note. You cannot conclude from it that the buyer was charged, that a refund is due, or that the order should leave the building. Those conclusions belong to the record that is still missing, or to the provider.
What a public page cannot settle
WooCommerce's troubleshooting guide says the same stuck status can be expected behavior, configuration, or another fault. A public explanation cannot see your order notes. Stripe's Checkout rules do not govern a store that does not use Checkout Sessions. A research-use catalog does not change the meaning of a WooCommerce status.
Manual refund is a separate trap. WooCommerce says an order can reach refunded through the manual-refund option without the buyer's funds having been returned. Do not use that status, or this page, as proof that money moved back.
If you want a consultation, describe the platform and the mismatch in the public form. Leave the order file and the payment credentials in your own systems. Follow-up is by email. The request is not a processing application, and it does not repair the order.
One-order evidence map
Use one row set for one affected order. Copy identifiers you are allowed to see. Do not type a card number or a customer list. 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.
One-order evidence map. The last column is for temporary notes.
Record
What it is allowed to prove
What it must not trigger
Your note
What the buyer saw, and when
What it is allowed to proveIt proves the message and the time the buyer reported. It does not prove a charge.
What it must not triggerDo not ship, refund, or send a new pay link from the screenshot alone. Write the message and the time. Omit the buyer's payment details.
Store order status
What it is allowed to proveOn WooCommerce, pending payment, on hold, processing, failed, and draft mean different stages. Another platform needs its own definitions.
What it must not triggerDo not treat processing as captured if the notes say authorization only. Do not treat draft as paid. Write the status word the admin screen uses.
Order notes or gateway messages
What it is allowed to proveWooCommerce says notes can show the gateway, a transaction identifier, a decline, or an uncaptured authorization. No payment note can mean the gateway never reported.
What it must not triggerDo not invent a note that is not there, and do not paste a full customer record. Say whether a transaction identifier is present. Do not copy the full identifier into a public form later.
Provider transaction
What it is allowed to proveThe provider's dashboard is the record of whether a charge or authorization exists and whether that provider calls it final.
What it must not triggerIf it is missing, WooCommerce says not to retry until you confirm the first attempt created nothing. Write found or not found, and the provider's status word. Stop there.
Clock and time zone
What it is allowed to proveStripe says it processes payments and payouts in UTC, with an Asia-Pacific exception. The store may use another clock.
What it must not triggerDo not call two timestamps a contradiction until both zones are known. Write each timestamp and the zone printed with it. If no zone is printed, write unknown.
What has already been done
What it is allowed to proveA refund status can be manual. WooCommerce warns that manual refund can mark the order refunded without returning funds.
What it must not triggerDo not refund, capture, or fulfill in order to make the rows match. Write none, or the single action someone already took.
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.
Do not retry a charge, replay a webhook, refund, or ship from this page. Follow the notice in the provider's own dashboard and that gateway's documentation.
Stripe Checkout Session rules and WooCommerce statuses apply only where those products are in use.
An inquiry alone does not authorize a checkout change or establish that a payment succeeded. Keep card data, passwords, and customer records out of the public form.
WooCommerce: Order statuses — checked 2026-09-21. Pending payment, processing, on hold, failed, and draft are defined separately. Processing is WooCommerce's paid-and-awaiting-fulfillment state and does not complete itself. Manual refund can mark an order refunded without returning funds. Status changes can send email.
WooCommerce: Troubleshooting orders — checked 2026-09-21. Identify the gateway on the order or in notes. Do not retry while a charge may exist. A successful gateway charge with a pending order is a webhook or callback question, reconciled before fulfillment. Missing notes can mean the gateway did not communicate. On hold may be authorization without capture.
Stripe: Fulfill Checkout orders — checked 2026-09-21. For hosted Checkout Sessions, the landing page is not a sufficient fulfillment trigger. Check the session payment status. Unpaid is not fulfilled. Delayed methods use later async success or failure events.
Stripe: Receive payouts — checked 2026-09-21. Stripe processes payments and payouts in UTC except for the Asia-Pacific exception it states, so a provider timestamp and a local store clock need not match.
Prism contact — checked 2026-09-21. The public form takes the website, products, and question, excludes card details, passwords, and customer records, and does not submit a processing application. Follow-up is by email.
Prism solutions — checked 2026-09-21. Prism's published support is a storefront review, processing preparation, and help with a provider's website questions. It does not decide the provider's account outcome.
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.