支付地址
已弃用:此功能不再推荐。尽管某些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,可能正在被弃用,或者可能仅出于兼容性目的而保留。避免使用它,并尽可能更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此功能可能随时停止工作。
非标准:此功能是非标准的,并且不在标准轨道上。不要在面向 Web 的生产网站上使用它:它不会对每个用户都起作用。实现之间也可能存在很大的不兼容性,并且行为将来可能会发生变化。
PaymentAddress
是支付请求 API的接口,用于存储送货或支付地址信息。
建议参考万国邮联网站的地址 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
只读 已弃用 非标准-
一个字符串,指定司法管辖区用于邮件路由的代码,例如,美国的邮政编码或印度的 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
属性,其中包含响应详细信息。这必须符合支付方式提供商定义的结构。
浏览器兼容性
BCD 表格仅在浏览器中加载