WooCommerce & Online Payments

WooCommerce Stripe Payment Authorized but Not Captured?

An authorization reserves funds but is not the same as captured payment. Compare the WooCommerce order with Stripe's actual payment state, inspect delayed-capture settings, and verify the approved capture or cancellation outcome before fulfilment.

Editorial portrait illustration for: WooCommerce Stripe Payment Authorized but Not Captured?
Editorial illustration using Nithu’s supplied portrait; not a client incident screenshot or measured result.
In this guide

A Stripe payment shown as authorized or uncaptured has not necessarily been collected. Compare the WooCommerce order with the linked Stripe payment, check whether delayed capture is enabled, and confirm the authorization’s actual expiry before deciding what to do. Do not fulfil an order solely because a customer sees a pending card entry.

The official WooCommerce Stripe extension guide explains its “authorize on checkout, capture later” option and the resulting On Hold orders. An intentionally uncaptured order can be normal. An unexpected uncaptured payment requires a review of settings and automation.

Read three separate records

Start with the order’s payment reference and notes. Then open the corresponding payment in the correct Stripe account and mode. Finally, review the store’s capture setting and any fulfilment integration that can change order status.

Record the amount, currency, authorized amount, captured amount, current payment state and capture deadline where available. A customer screenshot can help explain their concern, but the merchant’s processor record is needed to establish whether funds were captured. Avoid collecting full card numbers or other unnecessary payment data.

  • Authorized and awaiting capture: establish whether that is the intended business workflow.
  • Captured in Stripe but On Hold locally: investigate order reconciliation or event delivery rather than capturing again.
  • Expired or canceled authorization: the old hold may no longer be available for capture.
  • No matching Stripe payment: verify account, test/live mode and the reference before changing the order.

If Stripe already shows a completed payment, our paid-but-pending order guide addresses that different state.

Check why delayed capture is enabled

In the official extension, inspect the Stripe payment settings for the authorization-and-later-capture option. Confirm the exact extension in use: another plugin or custom integration may implement capture differently. Do not change a live setting merely because a checkbox looks unfamiliar.

The owner should explain the intended workflow. For example, staff may verify availability before collecting money. The developer should identify what action is supposed to capture it: an authorized administrator, an order-status transition, or custom automation. Document who owns that action and how they know it failed.

A recent fulfilment or status-automation change may have interrupted the trigger, but timing alone does not establish causation. Compare one affected order with a known-good example and inspect the actual events.

Use the payment’s expiry, not an assumed universal window

The WooCommerce extension guide gives seven days as its capture guidance. Stripe’s current authorization documentation describes differences by payment method, card network and transaction type, and identifies the payment’s capture-before value for API users. Verify the actual deadline for the payment you are handling rather than promising every hold lasts exactly seven days.

If a hold has expired, changing a WooCommerce status cannot recreate the authorization. Agree a supported new payment process with the customer and merchant where necessary. Check for any existing successful capture before requesting another payment.

Capture support also depends on the installed extension and payment method. Availability in Stripe’s general API does not prove the same feature is available through your WooCommerce plugin. Use the extension’s documented behavior for the store’s actual configuration.

Separate a merchant capture action from a technical repair

Capturing funds is a payment action. The merchant should confirm that the order is approved, the amount is correct and the authorization remains valid. An authorized operator can then follow the supported capture workflow for that extension.

The official extension documents order-status actions that can trigger capture. Treat those actions accordingly: changing an order to Processing or Completed can have financial and fulfilment effects. Do not bulk-change statuses as a diagnostic experiment.

If capture automation is broken, the developer should inspect the triggering event, application errors, gateway response and subsequent order update. Repair the failure in an isolated test environment, then deploy the reviewed change. Keep an exception list for earlier orders; fixing future behavior does not capture older payments automatically.

Handle partial captures deliberately

The cited WooCommerce extension guide states that a partial capture can occur only once per order, releasing the remaining authorized amount. Confirm the intended amount before using that supported action. Do not assume a later shipment can automatically collect the rest of the same authorization.

Coordinate the financial outcome with fulfilment and customer communications. An order record, a gateway capture and a refund are distinct events. Our refund-record guide explains the corresponding distinction when money needs to be returned.

Prove the corrected workflow

Use a supported test payment to verify authorization, the intended capture trigger, the resulting Stripe state and the final WooCommerce notes. Include the cancellation or expiry path if delayed capture is part of normal operations. Our test-order checklist helps retain a complete result.

Close the issue when new orders follow the intended policy and every affected older payment has a documented outcome or assigned review. Staff should be able to distinguish awaiting capture from paid without guessing from one status label.

FAQs

Is an authorization the same as money in the merchant balance?

No. It reserves funds for a possible capture. Check Stripe’s actual payment state to establish whether the payment was captured.

Will setting every On Hold order to Processing fix this?

No. That status change may trigger payment or fulfilment actions, and some On Hold orders have other causes. Review each payment state and use the supported merchant-approved workflow.

Can I capture an expired authorization?

An expired hold is no longer available through the original authorization. Confirm the processor state and arrange an appropriate new payment process if required.

Can I capture the rest after a partial capture?

The cited WooCommerce Stripe extension guide allows only one capture per order. Confirm the installed integration’s current support before planning split collection.

Sources

Prepared for website owners by Nithu / Suthakaran Nithursan. Dated advisory facts link to primary sources. Examples are illustrative and are not client results or guarantees.