PaymentRequest

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

PaymentRequest 介面是 Payment Request API 的主要切入點,它能讓網頁或 app 接受終端用戶的付款。

建構子

PaymentRequest() Secure context
建立新的 PaymentRequest 物件。

屬性

PaymentRequest.id Read only Secure context
個別 PaymentRequest 的唯一標識符(unique identifier),可透過 details.id 設定之。若尚未指定,預設為 UUID。
PaymentRequest.shippingAddress Read only Secure context
若透過付款設定(payment options)請求的話,回傳用戶指定的運送地址,以便計算運輸事宜。只有在呼叫的建構子 requestShipping flag 為 true 時,此屬性才能作動。另外,部份瀏覽器會出於隱私上的理由而只節錄部分地址,除非用戶表示交易手續即將完成(例如按下「付款」鈕)。
PaymentRequest.shippingOption Read only Secure context
回傳的運送選項的標識符。只有在呼叫的建構子 requestShipping flag 為 true 時,此屬性才能作動。
PaymentRequest.shippingType Read only Secure context
回傳用於完成交易的運送類型。可以是 shipping, delivery, pickup, 或在建構子未提供的情形下:null

事件處理器

PaymentRequest.onshippingaddresschange Secure context
用戶修改運送地址時觸發之。
PaymentRequest.onshippingoptionchange Secure context
用戶修改運送選項時觸發之。
PaymentRequest.onpaymentmethodchange Secure context
針對付款方法(如 Apple Pay),用戶修改支付方式時觸發之,比方說從信用卡改為簽帳卡。
PaymentRequest.onmerchantvalidation Secure context
針對付款方法(如 Apple Pay),本事件會呼叫 merchantvalidation 事件,在用戶代理要求驗證付款商家或供應商是否合法時觸發之。

方法

PaymentRequest.canMakePayment() Secure context
在呼叫 show() 前告訴 PaymentRequest 物件能不能付款。
PaymentRequest.show() Secure context
讓用戶代理開始付款請求的用戶交互。
PaymentRequest.abort() Secure context
讓用戶代理結束付款請求並刪除可能顯示的任何用戶界面。

規範

規範 狀態 註解
Payment Request API
The definition of 'PaymentRequest' in that specification.
Candidate Recommendation 初始定義。

瀏覽器相容性

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome Full support 61Edge Full support YesFirefox Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: 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 A comma-delineated list of one or more 2-character ISO country codes indicating the countries in which to support payments (for example, US,CA.). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android Full support 56
Full support 56
No support 53 — 56
Disabled
Disabled From version 53 until version 56 (exclusive): this feature is behind the #web-payments preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Mobile Full support YesFirefox Android Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: 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 A comma-delineated list of one or more 2-character ISO country codes indicating the countries in which to support payments (for example, US,CA.). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS ? Samsung Internet Android Full support 6.0
PaymentRequest() constructorChrome Full support 61Edge Full support YesFirefox Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android Full support 56
Full support 56
No support 53 — 56
Disabled
Disabled From version 53 until version 56 (exclusive): this feature is behind the #web-payments preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Mobile Full support YesFirefox Android Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS ? Samsung Internet Android Full support 6.0
abort()Chrome Full support 61Edge Full support 15Firefox Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android Full support 56
Full support 56
No support 53 — 56
Disabled
Disabled From version 53 until version 56 (exclusive): this feature is behind the #web-payments preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Mobile Full support YesFirefox Android Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS ? Samsung Internet Android Full support 6.0
canMakePayment()Chrome Full support 61Edge Full support 16Firefox Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android Full support 56Edge Mobile Full support YesFirefox Android Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS ? Samsung Internet Android Full support 6.0
idChrome Full support 60Edge ? Firefox Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE ? Opera ? Safari ? WebView Android No support NoChrome Android Full support 60Edge Mobile ? Firefox Android Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android ? Safari iOS ? Samsung Internet Android ?
onpaymentmethodchangeChrome No support NoEdge ? Firefox Full support 63
Notes Disabled
Full support 63
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 63: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android Full support 63
Notes Disabled
Full support 63
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 63: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS ? Samsung Internet Android ?
onshippingaddresschangeChrome Full support 61Edge Full support 15Firefox Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android Full support 56
Full support 56
No support 53 — 56
Disabled
Disabled From version 53 until version 56 (exclusive): this feature is behind the #web-payments preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Mobile Full support YesFirefox Android Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS ? Samsung Internet Android Full support 6.0
onshippingoptionchangeChrome Full support 61Edge Full support 15Firefox Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android Full support 56
Full support 56
No support 53 — 56
Disabled
Disabled From version 53 until version 56 (exclusive): this feature is behind the #web-payments preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Mobile Full support YesFirefox Android Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS ? Samsung Internet Android Full support 6.0
paymentAddressChrome Full support 61Edge Full support 15Firefox Full support 55
Notes Alternate Name Disabled
Full support 55
Notes Alternate Name Disabled
Notes Available only in nightly builds.
Alternate Name Uses the non-standard name: shippingAddress
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android Full support 56
Full support 56
No support 53 — 56
Disabled
Disabled From version 53 until version 56 (exclusive): this feature is behind the #web-payments preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Mobile Full support YesFirefox Android Full support 55
Notes Alternate Name Disabled
Full support 55
Notes Alternate Name Disabled
Notes Available only in nightly builds.
Alternate Name Uses the non-standard name: shippingAddress
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS ? Samsung Internet Android Full support 6.0
requestIdChrome No support NoEdge Full support YesFirefox Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android No support NoEdge Mobile Full support YesFirefox Android Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS ? Samsung Internet Android No support No
shippingOptionChrome Full support 61Edge Full support 15Firefox Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android Full support 56
Full support 56
No support 53 — 56
Disabled
Disabled From version 53 until version 56 (exclusive): this feature is behind the #web-payments preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Mobile Full support YesFirefox Android Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS ? Samsung Internet Android Full support 6.0
shippingTypeChrome Full support 61Edge Full support 15Firefox Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android Full support 56Edge Mobile Full support YesFirefox Android Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS ? Samsung Internet Android Full support 6.0
showChrome Full support 61Edge Full support 15Firefox Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android Full support 56
Full support 56
No support 53 — 56
Disabled
Disabled From version 53 until version 56 (exclusive): this feature is behind the #web-payments preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Mobile Full support YesFirefox Android Full support 55
Notes Disabled
Full support 55
Notes Disabled
Notes Available only in nightly builds.
Disabled From version 55: this feature is behind the dom.payments.request.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS ? Samsung Internet Android Full support 6.0

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
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.

文件標籤與貢獻者

此頁面的貢獻者: iigmir
最近更新: iigmir,