Fix Apple Pay “Payment Not Completed” in WooCommerce After a PayPal Gateway Update

If the Apple Pay Express Checkout button opens correctly but displays:

Payment Not Completed

after the customer confirms the payment, the first thing to establish is which PayPal plugin was updated.

The reported version and release date:

9.2.1July 27, 2026

match Payment Gateway for PayPal on WooCommerce by Easy Payment, not the official WooCommerce PayPal Payments plugin. Version 9.2.1 was released July 27, 2026.

That distinction matters because the two plugins implement Apple Pay differently and use different settings.

The current public release of Payment Gateway for PayPal on WooCommerce is 9.2.4, released July 31, 2026.

So if the problem began immediately after 9.2.1, update to 9.2.4 before deeper troubleshooting.

Update From 9.2.1 First

Go to:

WordPress→ Plugins→ Installed Plugins→ Payment Gateway for PayPal on WooCommerce

If you still have:

9.2.1

update to the latest available version.

Versions 9.2.2 through 9.2.4 contain several payment-processing fixes following the 9.2.1 release, including checkout completion, 3-D Secure, card-processing and plugin-update fixes.

None of the published 9.2.2–9.2.4 changelog entries explicitly says:

Fixed Apple Pay “Payment Not Completed”

so I would not claim that 9.2.4 is a confirmed Apple Pay fix.

However, testing an issue reported immediately after 9.2.1 against 9.2.4 is the correct first step.

Also avoid permanently downgrading to an older version because 9.2.1 itself included security and payment-validation fixes.

The 9.2.1 Changelog Does Not Show an Apple Pay Change

This is another useful clue.

Version 9.2.1 primarily changed:

  • PayPal Advanced/Payflow transaction verification,
  • IPN validation,
  • order-integrity checks,
  • saved-payment-method ownership protections.

Its published changelog does not list an Apple Pay implementation change.

That means:

Apple Pay broke immediately after 9.2.1

is useful evidence, but timing alone does not prove the update directly changed Apple Pay.

A configuration or cached credential issue exposed during the upgrade is still possible.

Check Apple Pay Domain Registration Next

For PayPal-based Apple Pay on the web, the site domain must be registered.

PayPal states explicitly that Apple Pay will not work if the domain displaying the Apple Pay button is not registered and verified.

This is one of the highest-value checks when the Apple Pay sheet appears but completion fails.

The production site should host:

https://example.com/.well-known/apple-developer-merchantid-domain-association

and the relevant domain must also be registered with the live PayPal account used by the WooCommerce plugin.

Make Sure You Registered the Production Domain, Not Only Sandbox

PayPal keeps Sandbox and Live Apple Pay setup separate.

A domain configured under a sandbox environment does not automatically become valid for production transactions. PayPal requires production onboarding and live-domain verification before real Apple Pay transactions can be processed.

Therefore check:

PayPal environment:LIVEPlugin environment:LIVEApple Pay domain:Registered under LIVE PayPal account

This is especially important if the site previously worked in Sandbox.

Check the Exact Domain Being Used

Suppose PayPal contains:

example.com

but customers actually checkout at:

www.example.com

or:

shop.example.com

PayPal’s Apple Pay documentation requires domains and subdomains displaying the button to be registered.

Check the actual browser address during checkout.

Also check whether the site recently changed from:

www.example.com

to:

example.com

or moved between:

staging.example.comexample.com

A previous support case for this same WooCommerce PayPal gateway involved Apple Pay/Google Pay problems after a site change. The plugin developer advised reconnecting PayPal and re-registering the new Apple Pay domain when the site’s domain changed.

Test the Apple Domain Association File Directly

Open:

https://yourdomain.com/.well-known/apple-developer-merchantid-domain-association

It should load directly.

PayPal says Apple’s verification request must not receive a 3xx redirect. The verification file should be available over HTTPS and returned as the proper file rather than an HTML error page.

You can inspect it with:

curl-I https://example.com/.well-known/apple-developer-merchantid-domain-association

A healthy result should be roughly:

HTTP/2 200

not:

301302403404

PayPal also specifies:

Content-Type: application/octet-stream

for the domain association response.

Cloudflare or Security Rules Can Break Verification

Even if the file physically exists, Apple must be able to retrieve it.

PayPal specifically warns that the association file should not be hidden behind a firewall.

Therefore check whether:

/.well-known/*

is affected by:

  • Cloudflare WAF,
  • Wordfence,
  • hosting ModSecurity,
  • Basic Authentication,
  • maintenance mode,
  • country blocking,
  • bot protection.

Do not disable your entire firewall permanently.

Create the minimum exception required for the Apple verification file.

Look for PayPal’s Actual API Error

“Payment Not Completed” is a customer-facing Apple Pay message.

The underlying PayPal response can be much more useful.

Open:

Browser DevTools→ Network

then reproduce the Apple Pay payment.

Look for failed PayPal or WooCommerce AJAX/REST requests.

PayPal documents Apple Pay errors including:

DOMAIN_NOT_REGISTERED

meaning the domain is not registered for that merchant, and:

NOT_ENABLED_FOR_APPLE_PAY

meaning the API caller or merchant is not configured to process Apple Pay.

If either appears, you have a much more precise diagnosis than the generic Apple Pay sheet message.

Common PayPal Apple Pay Errors

DOMAIN_NOT_REGISTERED

This points directly to domain registration.

Verify:

Production domainProduction PayPal accountCorrect www/non-www/subdomainAssociation file reachable

PayPal documents this as an Apple Pay business-validation error.

NOT_ENABLED_FOR_APPLE_PAY

This means the PayPal caller or merchant is not currently enabled to process Apple Pay.

In that case, WooCommerce configuration alone cannot repair the merchant capability.

Check the PayPal account/app configuration or contact PayPal.

Reconnect the PayPal Account

If domain registration is correct, reconnect PayPal from the plugin.

A support case for Payment Gateway for PayPal on WooCommerce documented incorrect Client ID configuration causing PayPal, Apple Pay and Google Pay problems. The plugin author recommended:

WooCommerce→ Settings→ Payments→ PayPal Gateway by Easy Payment→ Manage→ PayPal ConnectionDisconnect PayPal Account→ Connect PayPal again

and the reported issue was resolved after reconnecting and correcting the domain configuration.

This is particularly worth doing after a plugin upgrade if cached credentials or merchant capability data are stale.

Clear PayPal and Site Cache After Reconnecting

After reconnecting:

  1. Save the PayPal settings.
  2. Purge the WordPress cache.
  3. Purge server cache.
  4. Purge CDN cache.
  5. Open a private browser window.
  6. Test Apple Pay again.

This plugin has previously added specific handling to exclude PayPal SDK assets from caching because caching can interfere with payment rendering and behavior. Its changelog added PayPal SDK cache exclusion in version 9.0.55.

Do not cache checkout responses or stale PayPal SDK configuration.

Check JavaScript Errors

If Apple Pay opens but then fails, inspect:

DevTools→ Console

before and immediately after confirming the payment.

Look for errors involving:

applepaypaypalwoocommerceexpresscheckout

Also inspect whether JavaScript optimization is active through:

  • LiteSpeed Cache,
  • WP Rocket,
  • Autoptimize,
  • Cloudflare,
  • Perfmatters,
  • FlyingPress.

Temporarily disable:

JS delayJS combineJS minification

for checkout/payment scripts and retest.

If Apple Pay works afterward, restore optimization selectively rather than leaving everything disabled.

Check Whether the Order Is Created

After the failed Apple Pay attempt, open:

WooCommerce→ Orders

There are three diagnostically different outcomes.

No WooCommerce order exists

The failure probably happened before WooCommerce completed order creation.

Focus on:

Apple Pay merchant validationfrontend JavaScriptexpress-checkout validationshipping/address validation

Order exists as Failed

Open its order notes.

The plugin or PayPal may have recorded the actual rejection.

Order exists as Pending but PayPal charged the customer

Stop repeatedly testing until you understand the state.

That indicates the payment may have reached PayPal while WooCommerce failed to finalize the local order.

The plugin has a history of fixes involving order state and express-payment synchronization, so this case deserves logs and a support report rather than repeated checkout attempts.

Express Checkout Address Validation Matters

This plugin has had several historical Apple Pay/Google Pay fixes involving:

  • express checkout,
  • shipping-country validation,
  • required phone fields,
  • missing shipping options,
  • address synchronization.

For example, earlier releases fixed Apple Pay Express Checkout failures and shipping-country validation, while version 9.0.52 fixed Apple Pay/Google Pay validation when the phone field was required.

Therefore, if domain registration is correct, test a very simple checkout configuration.

Use:

simple productstandard shipping zonenormal billing addressnormal shipping addressdefault WooCommerce fields

If that works, reintroduce checkout customizations one by one.

Check Custom Checkout Field Plugins

If you use a plugin that makes fields required, pay special attention to:

PhoneStatePostcodeAddress line 2Custom checkout fields

Express checkout creates or populates those fields differently from a normal manually completed checkout.

A field plugin may consider the WooCommerce order incomplete even though Apple Pay supplied enough information to authorize the payment.

Test on staging with only:

WooCommercePayment Gateway for PayPal on WooCommerce

active.

If Apple Pay then works, reactivate checkout-related plugins individually.

Classic Checkout vs Block Checkout

The PayPal gateway has made several recent changes to WooCommerce Blocks.

Version 9.1.0 added Apple Pay and Google Pay express-payment buttons to the WooCommerce Blocks mini-cart and refactored Blocks support.

Version 9.0.66 also fixed billing-address handling for Google Pay on Block Checkout.

Therefore determine whether the store uses:

Classic Checkout[woocommerce_checkout]

or:

WooCommerce Checkout Block

If Apple Pay fails only on one version, include that detail in the bug report.

That dramatically narrows the plugin code path involved.

Test Product Page vs Cart vs Checkout

Apple Pay Express Checkout can be exposed in different locations.

Test separately:

Product pageCartMini cartCheckout

For example:

Product Page✓ worksCheckout✗ Payment Not Completed

would suggest a checkout-specific validation issue.

Whereas:

Every Apple Pay button✗ fails

makes domain/account configuration more likely.

If the Issue Started Exactly With 9.2.1

You can perform a controlled regression test on staging.

Test:

Current 9.2.4

first.

If the failure remains, make a full backup and temporarily test the previous known-good release.

Do not use the downgrade as a permanent production fix because 9.2.1 included security-related transaction-validation changes.

The purpose is only to determine:

Older build✓ Apple Pay succeeds9.2.1+✗ Apple Pay fails

If you can reproduce that with everything else unchanged, send the result to the plugin developer.

That is strong regression evidence.

Do Not Assume 9.2.1 Definitely Caused the Bug

The changelog is important here.

The public 9.2.1 notes do not describe a direct Apple Pay change.

Therefore an article stating:

Version 9.2.1 broke Apple Pay

would currently be unsupported.

A more accurate conclusion is:

The problem reportedly began after upgrading to 9.2.1, but the exact cause needs to be isolated using current 9.2.4, domain verification, API responses and a controlled version comparison.

That distinction is important for technical credibility.

Recommended Troubleshooting Order

Use this sequence:

  1. Update Payment Gateway for PayPal on WooCommerce from 9.2.1 to the current 9.2.4 release.
  2. Confirm Apple Pay is enabled under the live PayPal account.
  3. Verify the exact production domain.
  4. Open the Apple association file and confirm HTTP 200 with no redirects.
  5. Confirm the production PayPal account has the domain registered.
  6. Disconnect and reconnect PayPal inside the WooCommerce plugin.
  7. Clear all caches.
  8. Reproduce the failure with DevTools Network and Console open.
  9. Look specifically for DOMAIN_NOT_REGISTERED or NOT_ENABLED_FOR_APPLE_PAY.
  10. Check the WooCommerce order and its order notes.
  11. Test without checkout-field/security/cache optimization plugins.
  12. Compare Classic vs Block Checkout.
  13. Only if necessary, perform a temporary staging regression test against the previous known-good plugin release.

This sequence identifies the failure without making unnecessary changes to the store.

Most Likely First Checks

For an Apple Pay button that:

appears→ opens Apple Pay→ customer approves→ "Payment Not Completed"

I would check these three things first:

1. Update 9.2.1 → current 9.2.42. Reverify the LIVE Apple Pay domain3. Inspect the failed PayPal request for the real API error

PayPal explicitly rejects Apple Pay payments from an unregistered domain, and its API exposes a dedicated DOMAIN_NOT_REGISTERED error for that situation.

If those are clean, move on to WooCommerce checkout validation and plugin conflicts.

What to Send Plugin Support

Provide:

  • Payment Gateway for PayPal on WooCommerce version
  • WooCommerce version
  • WordPress version
  • PHP version
  • Classic or Block Checkout
  • page where Apple Pay fails
  • whether normal PayPal works
  • whether Google Pay works
  • whether Apple Pay works on another button location
  • screenshot of Apple Pay domain registration
  • HTTP response for the association file
  • browser console errors
  • failed Network request/PayPal error
  • WooCommerce order status and notes
  • whether 9.2.4 behaves differently from 9.2.1

Do not publish:

PayPal client secretaccess tokenAPI authorization headerscustomer card/wallet data

in a public support thread.

This is especially important because the plugin’s 9.2.3 release specifically fixed PayPal API credentials being exposed in diagnostic cURL/server output.

How to Verify the Fix

After correcting the issue:

  1. Use a real supported Apple device/browser.
  2. Add a normal product to cart.
  3. Click Apple Pay Express Checkout.
  4. Select a valid Apple Wallet card.
  5. Confirm the payment.
  6. Verify the Apple Pay sheet closes successfully.
  7. Confirm WooCommerce creates the order.
  8. Confirm the order becomes Processing/Completed as expected.
  9. Confirm PayPal shows the corresponding transaction.
  10. Repeat from another enabled Apple Pay button location.

The final flow should be:

Apple Pay button↓Apple Pay sheet↓Authorize↓PayPal approves↓WooCommerce creates/completes order↓Thank-you page

rather than:

Authorize↓Payment Not Completed

Version Note

As of August 17, 2026, WordPress.org lists Payment Gateway for PayPal on WooCommerce 9.2.4 as the latest public version, released July 31, 2026.

Version 9.2.1 was released July 27, 2026, which matches the version/date in the original report. Its public changelog does not document an Apple Pay-specific modification.

That makes a direct Apple Pay regression possible but not yet proven from the published release notes alone.

About the author

Tahrim Naziat

WordPress and Server Troubleshooting Specialist

Tahrim Naziat is a senior WordPress and JavaScript developer with more than 14 years of experience specializing in WordPress troubleshooting, WooCommerce, PHP compatibility, plugin conflicts, malware cleanup, performance optimization, Nginx, Redis, and production server issues. He documents practical solutions based on real WordPress debugging, technical investigations, and client projects.

Leave a Comment