--- title: Payment Request API slug: Web/API/Payment_Request_API translation_of: Web/API/Payment_Request_API ---
{{DefaultAPISidebar("Payment Request API")}}{{securecontext_header}}

Payment Request API 提供商家與用戶雙方一致的用戶體驗。它並不是嶄新的支付方式、而是讓用戶選擇偏好的支付方式、並把該方式提供給商家。

Payment Request 的概念和用法

很多放棄線上購物的問題,與結帳表單的填寫有關:填寫這些東西既困難又耗時、步驟還極度繁雜。Payment Request API正是為減少、甚至擺脫要完成表單所需的填寫步驟而生。它藉由不假手 HTML 表單的情況下,記下要傳給商家的用戶資訊,來簡化結帳步驟。

針對信用卡付款,使用 Payment Request API 的好處有:

要請求支付的話,建立 {{domxref("PaymentRequest")}} 物件的網頁,將回應用戶發動付款的行為,像是點選「購物」按鈕。PaymentRequest 將允許網頁在用戶提供完成交易所需資訊時交換之。

你可以在 使用 Payment Request API 文章看到完整教學。

注意:此 API 只有在設定 {{htmlattrxref("allowpaymentrequest","iframe")}} 屬性下,才可支援跨域 {{htmlelement("iframe")}} 元素。

介面

{{domxref('PaymentAddress')}}
地址資訊物件,具體用途有付款與送達。
{{domxref('PaymentRequest')}}
提供 API 以便建立與管理{{Glossary("用戶代理")}}的付款介面物件。
{{domxref('PaymentRequestEvent')}}
建立 {{domxref("PaymentRequest")}} 時發送給付款處理器(payment handler)的事件。
{{domxref('PaymentRequestUpdateEvent')}}
允許網頁針對用戶行為,發動更新用戶付款資訊的請求。
{{domxref('PaymentMethodChangeEvent')}}
表示用戶更改付款工具(例如從信用卡轉為簽帳金融卡)。
{{domxref('PaymentResponse')}}
在用戶選取付款方法、並同意付款請求後,所回傳的物件。
{{domxref('MerchantValidationEvent')}}
表示商家(網站)要求使用特定支付方法的瀏覽器驗證處理器(例如:要不要放行 Apple Pay)

字詞(dictionary)

{{domxref("AddressErrors")}}
此字詞包含任何與 {{domxref("PaymentAddress")}} entry 錯誤相關的描述性解釋字串。
{{domxref("PayerErrors")}}
此字詞包含任何與 {{domxref("PaymentResponse")}} 的 email、電話、名字屬性(name attribute)錯誤相關之描述性解釋字串。
{{domxref("PaymentDetailsUpdate")}}
此物件描述伺服器在用戶開始互動前、實例化支付界面後,針對行為需要修改的付款資訊。
{{domxref("BasicCardChangeDetails")}}
An object providing redacted address information that is provided as the {{domxref("PaymentMethodChangeEvent.methodDetails", "methodDetails")}} on the {{event("paymentmethodchange")}} event sent to the {{domxref("PaymentRequest")}} when the user changes payment information.
{{domxref("BasicCardErrors")}}
An object providing any error messages associated with the fields in the {{domxref("BasicCardResponse")}} object that are not valid. This is used as the value of the {{domxref("PaymentValidationErrors.paymentMethod", "paymentMethod")}} property on the {{domxref("PaymentValidationErrors")}} object sent to the {{domxref("PaymentRequest")}} when an error occurs.
{{domxref('BasicCardRequest')}}
Defines an object structure for containing payment request details such as card type.
{{domxref('BasicCardResponse')}}
Defines an object structure for payment response details such as the number/expiry date of the card used to make the payment, and the billing address.

規範

規範 狀態 註解
{{SpecName('Payment')}} {{Spec2('Payment')}} 初始定義。
{{SpecName('Basic Card Payment')}} {{Spec2('Basic Card Payment')}} 定義 {{domxref("BasicCardRequest")}} 與 {{domxref("BasicCardResponse")}},提供處理信用卡付款所需的事務。
{{SpecName('Payment Method Identifiers')}} {{Spec2('Payment Method Identifiers')}} 提供付款方法標識、驗證方法、還有 where applicable, minted and formally registered with the W3C。

瀏覽器相容性

PaymentRequest 介面

{{Compat("api.PaymentRequest", 0)}}

參見