Type Method


Indicates whether the device supports Apple Pay and whether the user has an active card in Wallet.


static Promise <boolean> canMakePaymentsWithActiveCard(DOMString merchantIdentifier);



The merchant ID created when the merchant enrolled in Apple Pay.

Return Value

true if the device supports Apple Pay and there is at least one active card in Wallet that is qualified for payments on the web; otherwise, false.


This method asynchronously contacts the Apple Pay servers as part of the verification process.

Per the Apple Pay on the Web Acceptable Use Guidelines, if you invoke the canMakePaymentsWithActiveCard API and determine that a user has an active card provisioned into Wallet, then Apple Pay must automatically be set as the default or sole payment option on any webpage where payments are accepted, such as the checkout page or product detail page. In all other situations, use canMakePayments instead.

Note that some cards, such as transit cards, are only enabled for POS payments and therefore will not qualify for payments on the web.

Listing 1 is an example of calling this method before displaying an Apple Pay button.

Listing 1

Determining whether to display an Apple Pay button

if (window.ApplePaySession) {
   var merchantIdentifier = 'example.com.store';
   var promise = ApplePaySession.canMakePaymentsWithActiveCard(merchantIdentifier);
   promise.then(function (canMakePayments) {
      if (canMakePayments)
         // Display Apple Pay Buttons here…
}); }

See Also

Determining Support for API and Payments


Detects whether a web browser supports a particular Apple Pay version.


Indicates whether the device supports Apple Pay.