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 屬性。這必須符合支付方法提供者定義的結構。
瀏覽器相容性
載入中…