Web/API/PayerErrors/phone

From Get docs

Draft This page is not complete.


The phone property is found in a PayerErrors object if the payerName returned in the response couldn't be validated as a valid phone number. The value of this property is a string explaining the problem. If the payer's phone number validated successfully, the phone property is omitted from the PayerErrors object.

Syntax

payerPhone = payerErrors.phone;

Value

If this property is present in the PayerErrors object, the payer's phone number couldn't be successfully validated, and the phone property's value is a DOMString explaining the error. This string will be displayed to the user by the user agent's payment handling user interface as appropriate.

If the phone number is valid, this property is omitted from the PayerErrors object.

Example

function validatePayment(response) {
  const correctionPromises
  let paymentErrors = {};
  let payerErrors = {};

  // Check payer details

  if (!validEmail(response.payerEmail)) {
    payerErrors.email = "Please make sure you enter a valid email address."
  }
  if (!validName(response.payerName)) {
    payerErrors.email = "Please enter a valid name, using only <appropriate characters>."
  }
  if (!validPhone(response.payerPhone)) {
    payerErrors.phone = "Please enter a valid phone number in the form ###-###-####."
  }

  // Check everything else too...

  // 
}

Specifications

Specification Status Comment
Payment Request APIThe definition of 'PayerErrors.phone' in that specification. Candidate Recommendation Initial definition.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet

phone

Experimental'

Chrome Full support 71

Disabled'

Full support 71

Disabled'

Disabled' From version 71: this feature is behind the #web-payments preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags. No support 69 — 71

Alternate Name' Disabled'

Alternate Name' Uses the non-standard name: payerPhoneError Disabled' From version 69 until version 71 (exclusive): this feature is behind the #web-payments preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.

Edge Full support ≤79

Disabled'

Full support ≤79

Disabled'

Disabled' From version ≤79: this feature is behind the #web-payments preference (needs to be set to Enabled).

Firefox Full support 64

Notes'

Full support 64

Notes'

Notes' Enabled by default in nightly US English builds of Firefox 64 and later, and on other localizations when geolocation indicates the user is in the United States or Canada. Full support 56

Disabled'

Disabled' From version 56: this feature is behind the dom.payments.request.enabled preference (needs to be set to true) and the dom.payments.request.supportedRegions preference (needs to be set to comma-delineated 2-character country code list). To change preferences in Firefox, visit about:config.

IE

No support No

Opera

No support No

Safari

?

WebView Android

No support No

Chrome Android Full support 71

Disabled'

Full support 71

Disabled'

Disabled' From version 71: this feature is behind the #web-payments preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags. No support 69 — 71

Alternate Name' Disabled'

Alternate Name' Uses the non-standard name: payerPhoneError Disabled' From version 69 until version 71 (exclusive): this feature is behind the #web-payments preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.

Firefox Android Full support 64

Notes'

Full support 64

Notes'

Notes' Enabled by default in nightly US English builds of Firefox 64 and later, and on other localizations when geolocation indicates the user is in the United States or Canada. Full support 56

Disabled'

Disabled' From version 56: this feature is behind the dom.payments.request.enabled preference (needs to be set to true) and the dom.payments.request.supportedRegions preference (needs to be set to comma-delineated 2-character country code list). To change preferences in Firefox, visit about:config.

Opera Android

No support No

Safari iOS

?

Samsung Internet Android

No support No

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.'
Experimental. Expect behavior to change in the future.
See implementation notes.'
See implementation notes.
User must explicitly enable this feature.'
User must explicitly enable this feature.
Uses a non-standard name.'
Uses a non-standard name.