PaymentAddress
已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。
非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。
PaymentAddress 接口是 Payment Request API 的一部分,用于存储送货地址或付款地址信息。
参考万国邮联 (Universal Postal Union) 网站的 Addressing S42 标准材料可能会很有用,这些材料提供了关于国际邮政地址标准的各种信息。
实例属性
PaymentAddress.addressLine只读 已弃用 非标准-
一个字符串数组,提供地址中未包含在其他属性中的每一行地址。确切的大小和内容因国家或地区而异,例如,可能包含街道名称、门牌号、公寓号、乡村投递路线、描述性说明或邮政信箱号码。
PaymentAddress.country只读 已弃用 非标准-
一个字符串,指定地址所在国家,使用 ISO-3166-1 alpha-2 标准。该字符串始终以其规范的大写形式给出。一些有效的
country值示例:"US"、"GB"、"CN"或"JP"。 PaymentAddress.city只读 已弃用 非标准-
包含地址中的城市或城镇部分的字符串。
PaymentAddress.dependentLocality只读 已弃用 非标准-
一个字符串,给出城市内的依赖区域或子区域,例如,一个社区、区、县或英国的依赖区域。
PaymentAddress.organization只读 已弃用 非标准-
指定付款地址中的组织、公司、商号或机构名称的字符串。
PaymentAddress.phone只读 已弃用 非标准-
指定收件人或联系人的电话号码的字符串。
PaymentAddress.postalCode只读 已弃用 非标准-
指定司法管辖区用于邮件路由的代码的字符串,例如,美国的 ZIP 代码或印度的 PIN 代码。
PaymentAddress.recipient只读 已弃用 非标准-
包含付款地址中的收件人、购买者或联系人姓名的字符串。
PaymentAddress.region只读 已弃用 非标准-
包含国家/地区最高行政区划的字符串,例如州、省、州或县。
PaymentAddress.sortingCode只读 已弃用 非标准-
提供邮政分拣代码的字符串,例如法国使用的。
注意:未指定值的属性包含空字符串。
实例方法
PaymentAddress.toJSON()已弃用 非标准-
一个标准的序列化器,返回
PaymentAddress对象属性的 JSON 表示形式。
示例
在下面的示例中,PaymentRequest() 构造函数用于创建一个新的支付请求,它接受三个对象作为参数——一个包含支付方法的详细信息,一个包含实际订单的详细信息(如购买的商品和送货选项),以及一个可选对象包含更多选项。
这三个对象中的第一个(如下例中的 supportedInstruments)包含一个 data 属性,该属性必须符合支付方法定义的结构。
const supportedInstruments = [
{
supportedMethods: "https://example.com/pay",
},
];
const details = {
total: { label: "Donation", amount: { currency: "USD", value: "65.00" } },
displayItems: [
{
label: "Original donation amount",
amount: { currency: "USD", value: "65.00" },
},
],
shippingOptions: [
{
id: "standard",
label: "Standard shipping",
amount: { currency: "USD", value: "0.00" },
selected: true,
},
],
};
const options = { requestShipping: true };
async function doPaymentRequest() {
const request = new PaymentRequest(supportedInstruments, details, options);
// Add event listeners here.
// Call show() to trigger the browser's payment flow.
const response = await request.show();
// Process payment.
const json = response.toJSON();
const httpResponse = await fetch("/pay/", { method: "POST", body: json });
const result = httpResponse.ok ? "success" : "failure";
await response.complete(result);
}
doPaymentRequest();
一旦使用 PaymentRequest.show() 触发了支付流程,并且 Promise 成功解决,从已完成的 Promise(上面的 instrumentResponse)中获得的 PaymentResponse 对象将具有一个包含响应详细信息的 PaymentResponse.details 属性。这必须符合支付方法提供者定义的结构。
浏览器兼容性
加载中…