• We are seeing issues with the WooCommerce PayPal Payments plugin during checkout and webhook processing.

    Most transactions complete successfully, however there are repeated inconsistencies involving:

    • Webhook processing
    • Order matching
    • Duplicate checkout/order creation
    • Temporary failed captures requiring payer action

    This appears to affect some customers during PayPal checkout return and approval processing. Main Symptoms Observed 1. Webhook unable to find WooCommerce order

    Repeated warnings such as:

    WC order ID was not found in webhook event

    Examples:

    • PayPal Order: 5E7416708W258280F
    • PayPal Order: 67339715EY926311L
    • PayPal Order: 9JV18449SL950614A

    The PayPal webhook arrives, but WooCommerce cannot initially associate it with a Woo order.

    Later in the process the order is patched with:

    • custom_id
    • invoice_id

    and then captured successfully. 2. Duplicate or repeated order processing attempts

    Several transactions show:

    Order is already being processed (lock active)

    and later:

    already has transaction ID, skipping payment processing

    This suggests:

    • webhook retries
    • race conditions
    • duplicate processing attempts
    • delayed order linkage

    3. Duplicate WooCommerce order creation risk

    One checkout flow appears to have generated multiple Woo orders for effectively the same transaction.

    Examples:

    Woo Orders:

    • 243773
    • 243777

    Associated PayPal Orders:

    • 5E7416708W258280F
    • 9C321708UB7660102

    This may indicate:

    • checkout retry behaviour
    • failed return handling
    • duplicate order generation after interrupted approval

    Need confirmation whether this is expected behaviour or a plugin issue. 4. Temporary capture failure

    Observed PayPal API response:

    UNPROCESSABLE_ENTITYPAYER_ACTION_REQUIRED

    Example:

    Failed to capture order.Issue: PAYER_ACTION_REQUIRED

    The order later completed successfully after retry.

    Need clarification:

    • why capture was attempted before payer completion
    • whether plugin retry handling is working correctly

    Additional Notes Environment

    • WooCommerce
    • WooCommerce PayPal Payments plugin
    • Live PayPal API
    • Webhooks enabled and verified successfully

    Webhook signature verification itself appears to work correctly.

    1. Why are webhook events arriving before WooCommerce order linkage is complete?
    2. Why do some webhook events fail to find the WooCommerce order initially?
    3. Is duplicate Woo order creation expected during interrupted PayPal approval flows?
    4. Are race conditions known within WooCommerce PayPal Payments webhook handling?
    5. Is there a recommended fix for:
      • duplicate processing attempts
      • delayed webhook linkage
      • repeated capture retries
    6. Are there known issues with:
      • CHECKOUT.ORDER.APPROVED
      • PAYMENT.CAPTURE.COMPLETED
        webhook timing?

    Example Log Entries Order matching failure

    Warning - WC order ID was not found in webhook event

    Processing lock

    Order is already being processed (lock active)

    Duplicate processing prevention

    already has transaction ID, skipping payment processing

    Failed capture

    UNPROCESSABLE_ENTITYPAYER_ACTION_REQUIRED

    Is this

    • expected
    • cosmetic logging only
    • or indicative of a plugin/order synchronisation issue that risks:
      • duplicate Woo orders
      • abandoned captures
      • failed fulfilment
      • customer confusion

    Thanks in advance

    The page I need help with: [log in to see the link]

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Support Krystian Syde

    (@inpsydekrystian)

    Hello @richard_vc

    Please follow these steps to share your system status report with us:

    1. Navigate to the WooCommerce / Status section in your site’s admin panel.
    2. Click on the Get system report button and then click Copy for support.
    3. Paste the report into our PrivateBin.
    4. After uploading, please share the link here so we can review the details thoroughly.

    We are waiting for your system reports to proceed with the analysis.

    Kind regards,
    Krystian

    Thread Starter Richard_vc

    (@richard_vc)

    Plugin Support Krystian Syde

    (@inpsydekrystian)

    Hello @richard_vc

    These are PayPal Payments logs, not a system report, so they don’t give full visibility into your WooCommerce setup. However, I also reviewed your frontend (checkout and related pages), and I can share a likely direction here. In your case, the most likely cause of the duplicate order/processing is the PayPal button on the cart page. This can sometimes initiate parallel flows (especially combined with redirects and webhook timing), which leads to duplicate order creation in some cases

    You can disable the PayPal buttons on the cart page directly from the plugin settings:

    1. Go to WooCommerce → Settings → Payments → PayPal → Styling.
    2. Under Button Styling, locate the Location dropdown.
    3. Select Cart Page and uncheck the option “Enable payment methods in this location.”

    We are aware of cases like this, and limiting the entry points (removing the cart button) often stabilizes the flow.

    Additionally, I noticed that there is no visible PayPal button on the checkout page. If that is not intentional, please let me know.

    If the issue persists after removing the cart button, the next step would be to run a controlled test with a simplified setup to confirm whether any third-party plugins or customizations are contributing to this.

    Kind Regards,
    Krystian

    Thread Starter Richard_vc

    (@richard_vc)

    System report now added. https://privatebin.syde.com/?14fcab2e9d6972a5#EqDWE5MZkVZhFnJiHJUAcR4QYHREAzoMWH18nczhec5T

    Also, I have unchecked that box.

    After disabling the PayPal button on the cart page, I would run one controlled test and compare the log sequence before/after.

    The thing to verify is whether you now have only one PayPal entry point into the order flow.

    Test path:

    1. Clear PayPal/WooCommerce logs or note the current timestamp.
    2. Start checkout only from the normal WooCommerce checkout page.
    3. Complete one low-value live or sandbox transaction.
    4. Check whether these log messages disappear or reduce:
    • WC order ID was not found in webhook event
    • Order is already being processed
    • already has transaction ID, skipping payment processing
    • duplicate Woo order IDs for one PayPal transaction

    If the duplicate order behavior stops after removing the cart PayPal button, the likely issue was competing entry points: cart express flow + checkout/order flow + webhook timing.

    If it still happens, the next useful evidence is a timestamped mapping table:

    • Woo order ID
    • PayPal order ID
    • PayPal capture ID
    • first Woo order note timestamp
    • webhook event type
    • whether customer returned to the site successfully
    • whether the same browser/customer retried checkout

    Without that mapping it is very hard to separate harmless webhook retry noise from actual duplicate order creation.

    Thread Starter Richard_vc

    (@richard_vc)

    thank you for that. I have already been working through some test orders and the problem is not re occurred on the logs are not showing any issues. I will monitor again.

    thank you for your reply

Viewing 6 replies - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.