--- title: 支付请求接口 slug: Web/API/支付_请求_接口 tags: - 中间状态 - 信用卡 - 到岸卸货 - 参考 - 应用程序接口 - 支付 - 支付请求 - 支付请求接口 - 概述 - 贸易 translation_of: Web/API/Payment_Request_API ---
{{DefaultAPISidebar("Payment Request API")}}{{securecontext_header}}

支付请求API为商家和支付者提供了统一的用户体验。它并非提供一种新的支付方式,而是让用户可以在原有的支付方式中进行选择,并使商家可以获悉用户的支付情况。

支付请求的概念和使用

在网上购物时,使许多用户中止购物车结算的原因都可以被归结为填写支付信息表单时的步骤繁多导致的费时费力。支付请求API正是被用以减少支付步骤,逐步彻底消除表单的填写。它的目的是简化结算流程,而实现此目的的方式是通过保存用户相关信息并传送给商家。在理想的情况下,用户将不需要填写HTML表单。

使用支付请求API中“保存卡信息并自动扣款”(使用银行卡支付时)的优点:

当用户在页面上进行操作发起一次支付,比如点击“购买”按钮时,网页会相应地创建一个{{domxref("PaymentRequest")}}对象。PaymentRequest对象允许网页与用户代理交互,传送用户输入的用以交易的信息。

你可以在Using the Payment Request API中查看完整指南。

注意:此API只有在设置了{{htmlattrxref("allowpaymentrequest","iframe")}}属性时才支持{{htmlelement("iframe")}}元素的跨域使用。

接口

{{domxref('PaymentAddress')}}
一个包含地址信息的对象;例如,可以包含账单地址和收货地址。
{{domxref('PaymentRequest')}}
一个提供了创建和管理 {{Glossary("user agent", "user agent's")}}支付接口的对象。
{{domxref('PaymentRequestEvent')}}
当{{domxref("PaymentRequest")}}发生时,被传送给支付回调函数的事件。
{{domxref('PaymentRequestUpdateEvent')}}
当用户进行操作时,使网页可以更新相应的支付信息的事件。
{{domxref('PaymentMethodChangeEvent')}}
代表支付凭证改变(例如,用户将支付方式从信用卡改为了借记卡)的事件。
{{domxref('PaymentResponse')}}
一个对象,当用户选择了一种支付方式并同意发起交易请求后被返回。
{{domxref('MerchantValidationEvent')}}
代表浏览器要求商家(网站)证实自身被允许使用某种特定的支付回调函数(例如,注册了对Apply Pay支付方式的使用)的事件。

词典

{{domxref("AddressErrors")}}
一个由字符串组成的词典,包含用以描述任何{{domxref("PaymentAddress")}}条目中可能出现的报错的相应描述。
{{domxref("PayerErrors")}}
一个由字符串组成的词典,包含了{{domxref("PaymentResponse")}}中出现的有关邮件地址、电话号码及姓名的报错的相应描述。
{{domxref("PaymentDetailsUpdate")}}
一个对象,用于描述当服务器在发起支付请求后且在用户与之交互前,需要更新支付信息的事件。

“保存卡信息并自动扣款”规范的相关词典

{{domxref("BasicCardChangeDetails")}}
一个对象,提供了当用户更改支付信息时,{{domxref("PaymentMethodChangeEvent.methodDetails", "methodDetails")}}中传送通过{{event("paymentmethodchange")}}事件传送给 {{domxref("PaymentRequest")}}的删节的地址信息。
{{domxref("BasicCardErrors")}}
一个对象,提供了{{domxref("BasicCardResponse")}}中无效信息的相关错误提示。错误发生时,该对象被传送给{{domxref("PaymentRequest")}},作为{{domxref("PaymentValidationErrors")}}对象中{{domxref("PaymentValidationErrors.paymentMethod", "paymentMethod")}}属性的值。
{{domxref('BasicCardRequest')}}
定义了支付请求信息(例如“卡类型”)对象的结构。
{{domxref('BasicCardResponse')}}
定义了支付请求响应(例如被使用的银行卡的“卡号”、“有效期”和“账单地址”)对象的结构。

规范

规范 状态 注释
{{SpecName('Payment')}} {{Spec2('Payment')}} 原始定义
{{SpecName('Basic Card Payment')}} {{Spec2('Basic Card Payment')}} 定义信用卡支付回调函数中的{{domxref("BasicCardRequest")}}和{{domxref("BasicCardResponse")}}
{{SpecName('Payment Method Identifiers')}} {{Spec2('Payment Method Identifiers')}} 定义支付方式的识别码和认证方式。对于某些适用的场景,通过W3C进行铸币和注册。

浏览器兼容性

支付请求接口

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

相关文档