MerchantValidationEvent: complete() 方法

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

MerchantValidationEventcomplete() 方法接收之前从 validationURL 收到的特定商家信息,并使用该信息来验证商家。

你只需要在你处理 merchantvalidation 事件的处理程序中调用 complete(),并将从 validationURL 获取的数据传递进去。

语法

js
complete(validationData)
complete(merchantSessionPromise)

参数

validationDatamerchantSessionPromise

一个包含完成商家验证过程所需数据的对象,或者一个解析为验证数据的 Promise

返回值

无(undefined)。

异常

这个异常可能会被传递给 Promise 的拒绝处理程序。

InvalidStateError DOMException

当事件不是直接来自用户代理,而是由其他代码分派时返回。当前正在处理另一个支付请求,当前支付请求未显示给用户,或者支付信息正在更新。

示例

在这个例子中,我们看到了一个名为 payRequest 的支付请求支持商家验证所需的客户端代码。

js
payRequest.onmerchantvalidation = (event) => {
  const validationDataPromise = getValidationData(event.validationURL);
  event.complete(validationDataPromise);
};

function getValidationData(url) {
  // Retrieve the validation data from the URL
  // …
}

这段代码为 merchantvalidation 事件设置了一个处理程序。事件处理程序调用一个名为 getValidationData() 的函数,该函数从验证 URL 检索数据,然后将该数据(或提供数据的 Promise)传递给 complete()

浏览器兼容性

另见