WordPress plugin change record

WooCommerce PayPal/card payments fail intermittently with OrderProcessor.php:109

Reviewed July 13, 2026Evidence confidence: Detailed public report plus support acknowledgmentPrimary domain: Checkout reliability / lost sales
Current decisionIf WooCommerce PayPal Payments intermittently fails real payments while other payments still work, do not treat the gateway as healthy just because some orders complete. Preserve logs, compare successful versus failed attempts, verify PayPal capture and webhook recovery, and escalate privately before the pattern silently loses more sales.

A public support thread reported a live WooCommerce store where some PayPal and credit-card payments completed successfully while other valid attempts failed. The reported environment used WooCommerce PayPal Payments 4.0.4, classic checkout, WPML, PHP 8.2, and a live production store.

The thread described one PayPal order that was approved by the customer but never captured, plus repeated card failures logged as OrderProcessor.php:109. It also described repeated Webhook verification failed logs even though real PayPal webhook events were reaching the site.

Plugin support replied that the intermittent behavior, especially after cache troubleshooting, indicated a possible race condition or timing issue in the order-processing flow rather than a simple configuration problem, and said the case had been raised internally for investigation.

Intermittent payment failures are easy to underestimate. A store can process some orders correctly while still losing a percentage of real checkout attempts.

What changed?

  • Reported version: WooCommerce PayPal Payments 4.0.4; version 4.1.0 had not yet been installed in the report.
  • Failure pattern: PayPal approval without capture, card failures at OrderProcessor.php:109, and webhook verification failures.
  • Support signal: support said the pattern may indicate a race condition or timing issue in order processing and raised it internally.

Who is affected?

This record matters most when a store uses WooCommerce PayPal Payments, sees some successful PayPal/card payments and some unexplained failures, has OrderProcessor.php:109 logs, sees Webhook verification failed, or has approved PayPal orders that do not capture and complete in WooCommerce.

What should you do?

Your situationPrimary decisionSafeguard
Some PayPal/card orders succeed and others fail without a clear declineTreat as intermittent incidentTrack failure rate and compare failed versus successful logs before changing configuration randomly
PayPal approved the order but WooCommerce never captured/completed itVerify capture manuallyCheck PayPal order ID, capture status, webhook event, WooCommerce order status, and customer communication
Logs show OrderProcessor.php:109Preserve evidenceSave timestamps, payment method, browser return behavior, session/cookie context, and plugin versions
Webhook verification fails repeatedlyEscalate privatelySend system status, full logs, order IDs, webhook IDs, and the public thread URL to official support

Safest response sequence

  1. Stop changing several variables at once. Record the current PayPal Payments, WooCommerce, WordPress, PHP, checkout, cache, and multilingual setup.
  2. Separate user declines from processing failures. Look for missing PayPal order IDs, failed captures, webhook failures, and OrderProcessor.php:109 rather than normal card declines.
  3. Compare successful and failed attempts. Use the same production configuration and record payment method, timing, browser return, webhook events, and order notes.
  4. Verify each uncertain payment in PayPal. Confirm whether the customer was charged, whether capture occurred, and whether WooCommerce's order status matches reality.
  5. Preserve logs before updating or clearing cache. The failing timing path may disappear after changes, making support harder.
  6. Escalate privately. Include the public support-thread URL, system report, payment logs, order IDs, timestamps, and webhook evidence.
  7. Test the next release path in staging where possible. Recreate PayPal, card, failure, and webhook scenarios before deploying changes to production.

What is not yet proven?

The public thread does not prove every 4.0.4 store is affected or that every OrderProcessor.php:109 log has the same cause. It does show a high-risk failure pattern: intermittent payment loss, failed capture recovery, and webhook verification problems. The right response is evidence preservation and order-level reconciliation, not assuming the gateway is fine because some payments succeed.

Escalate immediately when: customers report repeated failed attempts, PayPal shows approval but no capture, WooCommerce failed orders may still have customer payment activity, or the store cannot tell whether a failed checkout charged the customer.

Update log

The public report described repeated card failures around OrderProcessor.php:109 and PayPal approval/capture problems.

Plugin support said the intermittent behavior may indicate a race condition or timing issue in the order-processing flow and raised the case internally.

This decision record was created from the public support thread.

Official sources

This is independent technical research, not official WooCommerce or PayPal support. Verify your own orders, captures, logs, and customer payment state before changing production checkout or contacting customers.