Apple Pay or Google Pay appears with a delay on the checkout page
When a visitor reaches a step of the checkout that supports Apple Pay or Google Pay, those wallet buttons may appear after a short delay instead of displaying immediately (along with standard checkout buttons).
This behaviour is expected. It is caused by the way payment wallets are detected by the visitor’s browser and device. The delay usually lasts around 1–2 seconds, although it may take slightly longer depending on the visitor’s device, browser, and internet connection.
The delay does not indicate a problem with your ShopWired website.
Why the wallet button does not appear immediately
Before displaying Apple Pay or Google Pay, your website's checkout must determine whether the visitor’s device supports a compatible payment wallet.
This detection process is performed using the Stripe JavaScript library (stripe.js) together with the browser’s Payment Request API.
The process works as follows:
- The checkout page loads
- The Stripe JavaScript library is loaded from Stripe’s content delivery network (CDN)
- Stripe initialises the payment request component
- The browser checks whether the visitor’s device supports a compatible wallet such as Apple Pay or Google Pay
- If a supported wallet is available, the appropriate button is displayed
Because these checks involve external scripts and browser-level wallet detection, the process is and cannot complete instantly.
Device and browser checks performed during detection
When the wallet check runs, the browser may perform several checks, including:
- Whether the device supports Apple Pay or Google Pay
- Whether the visitor has an active payment method stored in their wallet
- Whether the browser allows websites to check wallet availability
- Whether the website is allowed to use the payment method on the current domain
These checks are required by the browser and payment provider to ensure that the correct wallet button is displayed and that the payment method can be used.
Why the delay cannot be removed
The wallet button cannot be displayed until Stripe confirms that a supported wallet is available.
Displaying the button before this confirmation would create several problems:
- The checkout would not know whether to display Apple Pay or Google Pay
- A wallet button might appear on devices that do not support that wallet
- Visitors could attempt to use a wallet that is not available on their device
For this reason, the button is only displayed after Stripe and the browser confirm that a compatible wallet is available.
Variations in delay time
The time taken for the wallet button to appear can vary depending on several factors:
- The visitor’s network speed
- The time required to load the Stripe JavaScript library
- The visitor’s browser and device performance
- The browser’s wallet detection checks
In most cases the delay is approximately one second, although slower devices or connections may result in a slightly longer delay.
Summary
A short delay before the Apple Pay or Google Pay button appears is normal behaviour for websites that use Stripe to detect supported payment wallets.
The detection process is required to ensure that the correct wallet button is displayed and that the payment method is available for the visitor’s device. Because this verification is performed by the browser and Stripe’s payment library, the delay cannot be removed.
Sources
The following third-party documentation explains how payment wallets such as Apple Pay and Google Pay are detected and why a delay may occur before the wallet button appears.
-
Explains how Stripe uses the browser’s
canMakePayment()capability check to determine whether Apple Pay or Google Pay is available before displaying the wallet button. -
Describes how wallet availability is detected before rendering Apple Pay, Google Pay, or other express payment methods.
-
Defines the browser API used to detect whether a device supports a particular payment method before displaying a payment button.
-
Explains how Apple Pay availability is detected in browsers before Apple Pay can be presented as a payment option.