HTTP/2 200
content-type: text/html
x-guploader-uploadid: AAwnv3L_SwiiUfRPxUh7qBgXg-irQ57x4GDCnD9DxLZHOJZmGPNpGodAxrXWVle2Mq94adds
cache-control: public, max-age=3600
expires: Tue, 14 Oct 2025 07:07:34 GMT
last-modified: Tue, 14 Oct 2025 01:06:34 GMT
etag: W/"848d0c78fe71c227015ef2edb8fe9280"
x-goog-generation: 1760403994811638
x-goog-metageneration: 1
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 140472
x-goog-meta-goog-reserved-file-mtime: 1760402419
x-goog-hash: crc32c=Sulyvg==, md5=hI0MeP5xwicBXvLtuP6SgA==
x-goog-storage-class: STANDARD
accept-ranges: none
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
alt-svc: clear
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
strict-transport-security: max-age=63072000
content-security-policy: default-src 'self'; script-src 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; script-src-elem 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; style-src 'report-sample' 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self'; connect-src 'self' developer.allizom.org bcd.developer.allizom.org bcd.developer.mozilla.org updates.developer.allizom.org updates.developer.mozilla.org https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://incoming.telemetry.mozilla.org https://observatory-api.mdn.allizom.net https://observatory-api.mdn.mozilla.net https://api.github.com/search/issues stats.g.doubleclick.net https://api.stripe.com; font-src 'self'; frame-src 'self' interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net mdn.github.io live-samples.mdn.mozilla.net live-samples.mdn.allizom.net *.mdnplay.dev *.mdnyalp.dev *.play.test.mdn.allizom.net https://v2.scrimba.com https://scrimba.com jsfiddle.net www.youtube-nocookie.com codepen.io survey.alchemer.com https://js.stripe.com; img-src 'self' data: *.githubusercontent.com *.googleusercontent.com *.gravatar.com mozillausercontent.com firefoxusercontent.com profile.stage.mozaws.net profile.accounts.firefox.com developer.mozilla.org mdn.dev interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net wikipedia.org upload.wikimedia.org https://mdn.github.io/shared-assets/ https://mdn.dev/ https://*.google-analytics.com https://*.googletagmanager.com www.gstatic.com; manifest-src 'self'; media-src 'self' archive.org videos.cdn.mozilla.net https://mdn.github.io/shared-assets/; child-src 'self'; worker-src 'self';
x-frame-options: DENY
origin-trial: AxVILwizhbMjxFeHOn1P3R8niO1RJY/smaK4B4d1rLzc1gTaxtXMSaTi+FoigYgCw40uFRDwFcEAeqDR+vVLOW4AAABfeyJvcmlnaW4iOiJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZyIsImZlYXR1cmUiOiJQcml2YXRlQXR0cmlidXRpb25WMiIsImV4cGlyeSI6MTc0MjA3OTYwMH0=
x-cloud-trace-context: 1ed4ab23a3fa866bed1ebef2da8797d7
date: Tue, 14 Oct 2025 06:07:35 GMT
server: Google Frontend
via: 1.1 google
vary: Accept-Encoding
content-encoding: gzip
x-cache: miss
PaymentRequestEvent: changePaymentMethod() method - Web APIs | MDN
changePaymentMethod(methodName)
changePaymentMethod(methodName, methodDetails)
methodName
The name of the payment method to be used.
methodDetails
Optional
An object containing method-specific details that are being updated.
A Promise
that resolves with a PaymentRequestDetailsUpdate
object. This object contains the following properties:
error
A string that explains why the user-selected payment method cannot be used.
total
An updated total based on the changed payment method. The total can change, for example, because the billing address of the payment method selected by the user changes the applicable sales tax.
modifiers
An Array
of PaymentDetailsModifier
objects, whose properties are described in PaymentRequestEvent.modifiers
.
paymentMethodErrors
An object containing validation errors for the payment method, if any.
The following shows a trivial code snippet that could be used in a service worker to send a payment method change notification to the main payment handler window. For a complete test example, see Payment handler for testing payment method change event .
function notifyPaymentMethodChanged(e) {
e.changePaymentMethod("someMethod")
.then((paymentMethodChangeResponse) => {
paymentHandlerWindow.postMessage(paymentMethodChangeResponse);
})
.catch((error) => {
sendMessage({ error: error.message });
});
}