Secure contextThis feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The read-only methodDetails
property of the PaymentMethodChangeEvent
interface is an object containing any data the payment handler may provide to describe the change the user has made to their payment method. The value is null
if no details are available.
Syntax
details = paymentMethodChangeEvent.methodName;
Value
An object containing any data needed to describe the changes made to the payment method. The contents vary depending on the actual payment method chosen, so you will need to refer to the methodName
property first, then inerpret the methodDetails
after that.
The default value is null
, indicating that no additional details are available.
Example
This example uses the paymentmethodchange
event to watch for changes to the payment method selected for Apple Pay, in order to compute a discount if the user chooses to use a Visa card as their payment method.
request.onpaymentmethodchange = function(ev) {
const { type: cardType } = ev.methodDetails;
const newStuff = {};
if (ev.methodName === "https://apple.com/apple-pay") {
switch (cardType) {
case "visa":
// do Apple Pay specific handling for Visa card...
// methodDetails contains the card information
const result = calculateDiscount(ev.methodDetails);
Object.assign(newStuff, result);
break;
}
}
// finally...
ev.updateWith(newStuff);
};
const response = await request.show();
Note that the methodDetails
property is being used by the calculateDiscount()
function to compute any payment discount, then updateWith()
is called to update the event with the computed update.
Specifications
Specification | Status | Comment |
Payment Request APIThe definition of 'PaymentMethodChangeEvent.methodDetails' in that specification. | Candidate Recommendation | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
methodDetails
|
Chrome
Full support 76 |
Edge
Full support 79 |
Firefox
No support No |
IE
No support No |
Opera
Full support 63 |
Safari
Full support 12.1 |
WebView Android
No support No |
Chrome Android
Full support 76 |
Firefox Android
No support No |
Opera Android
Full support 54 |
Safari iOS
Full support 12.2 |
Samsung Internet Android
Full support Yes |
Legend
- Full support
- Full support
- No support
- No support
PaymentMethodChangeEvent.methodDetails by Mozilla Contributors is licensed under CC-BY-SA 2.5.