Secure context

This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.


This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

The obsolete supportedTypes property of the BasicCardRequest dictionary can optionally be provided to specify an array of DOMStrings representing the card types that the retailer supports (e.g. credit, debit, prepaid).

This property is obsolete and should no longer be used. Instead of making the web app or site worry about this, the onus has been transferred to the payment processor.


basicCardRequest.supportedTypes = [cardType1...cardTypeN];


An array containing one or more DOMStrings, which describe the card types the retailer supports. Legal values are defined in BasicCardType enum, and are currently:

  • credit
  • debit
  • prepaid


The following example shows a sample definition of the first parameter of the PaymentRequest() constructor, the data property of which contains supportedNetworks and supportedTypes properties.

var supportedInstruments = [{
  supportedMethods: 'basic-card',
  data: {
    supportedNetworks: ['visa', 'mastercard', 'amex', 'jcb',
                        'diners', 'discover', 'mir', 'unionpay'],
    supportedTypes: ['credit', 'debit']

var details = { ... };

var options = { ... };

var request = new PaymentRequest(supportedInstruments, details, options);

Browser compatibility

BCD tables only load in the browser