PaymentRequestEvent: phương thức changePaymentMethod()
Khả dụng hạn chế
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Note: This feature is only available in Service Workers.
Phương thức changePaymentMethod() của giao diện PaymentRequestEvent được trình xử lý thanh toán sử dụng để lấy tổng số tiền đã cập nhật, dựa trên các chi tiết phương thức thanh toán như địa chỉ thanh toán.
Khi phương thức này được gọi, một PaymentMethodChangeEvent được kích hoạt.
Cú pháp
changePaymentMethod(methodName)
changePaymentMethod(methodName, methodDetails)
Tham số
methodName-
Tên của phương thức thanh toán sẽ được sử dụng.
methodDetailsOptional-
Một đối tượng chứa các chi tiết đặc thù của phương thức đang được cập nhật.
Giá trị trả về
Một Promise được giải quyết với một đối tượng PaymentRequestDetailsUpdate. Đối tượng này chứa các thuộc tính sau:
error-
Một chuỗi giải thích lý do tại sao phương thức thanh toán do người dùng chọn không thể được sử dụng.
total-
Tổng số tiền đã cập nhật dựa trên phương thức thanh toán đã thay đổi. Tổng số tiền có thể thay đổi, ví dụ vì địa chỉ thanh toán của phương thức thanh toán được người dùng chọn thay đổi thuế bán hàng áp dụng.
modifiers-
Một
Arraycác đối tượngPaymentDetailsModifier, có thuộc tính được mô tả trongPaymentRequestEvent.modifiers. paymentMethodErrors-
Một đối tượng chứa các lỗi xác thực cho phương thức thanh toán, nếu có.
Ví dụ
Đoạn code sau đây cho thấy một đoạn code đơn giản có thể được sử dụng trong một service worker để gửi thông báo thay đổi phương thức thanh toán đến cửa sổ trình xử lý thanh toán chính. Để xem ví dụ kiểm tra đầy đủ, xem Payment handler for testing payment method change event.
function notifyPaymentMethodChanged(e) {
e.changePaymentMethod("someMethod")
.then((paymentMethodChangeResponse) => {
paymentHandlerWindow.postMessage(paymentMethodChangeResponse);
})
.catch((error) => {
sendMessage({ error: error.message });
});
}
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Web-based Payment Handler API> # changepaymentmethod-method> |