payment-handler.idl (3128B)
1 // GENERATED CONTENT - DO NOT EDIT 2 // Content was automatically extracted by Reffy into webref 3 // (https://github.com/w3c/webref) 4 // Source: Payment Handler API (https://w3c.github.io/payment-handler/) 5 6 partial interface ServiceWorkerRegistration { 7 [SameObject] readonly attribute PaymentManager paymentManager; 8 }; 9 10 [SecureContext, Exposed=(Window)] 11 interface PaymentManager { 12 attribute DOMString userHint; 13 Promise<undefined> enableDelegations(sequence<PaymentDelegation> delegations); 14 }; 15 16 enum PaymentDelegation { 17 "shippingAddress", 18 "payerName", 19 "payerPhone", 20 "payerEmail" 21 }; 22 23 partial interface ServiceWorkerGlobalScope { 24 attribute EventHandler oncanmakepayment; 25 }; 26 27 [Exposed=ServiceWorker] 28 interface CanMakePaymentEvent : ExtendableEvent { 29 constructor(DOMString type); 30 undefined respondWith(Promise<boolean> canMakePaymentResponse); 31 }; 32 33 partial interface ServiceWorkerGlobalScope { 34 attribute EventHandler onpaymentrequest; 35 }; 36 37 dictionary PaymentRequestDetailsUpdate { 38 DOMString error; 39 PaymentCurrencyAmount total; 40 sequence<PaymentDetailsModifier> modifiers; 41 sequence<PaymentShippingOption> shippingOptions; 42 object paymentMethodErrors; 43 AddressErrors shippingAddressErrors; 44 }; 45 46 [Exposed=ServiceWorker] 47 interface PaymentRequestEvent : ExtendableEvent { 48 constructor(DOMString type, optional PaymentRequestEventInit eventInitDict = {}); 49 readonly attribute USVString topOrigin; 50 readonly attribute USVString paymentRequestOrigin; 51 readonly attribute DOMString paymentRequestId; 52 readonly attribute FrozenArray<PaymentMethodData> methodData; 53 readonly attribute object total; 54 readonly attribute FrozenArray<PaymentDetailsModifier> modifiers; 55 readonly attribute object? paymentOptions; 56 readonly attribute FrozenArray<PaymentShippingOption>? shippingOptions; 57 Promise<WindowClient?> openWindow(USVString url); 58 Promise<PaymentRequestDetailsUpdate?> changePaymentMethod(DOMString methodName, optional object? methodDetails = null); 59 Promise<PaymentRequestDetailsUpdate?> changeShippingAddress(optional AddressInit shippingAddress = {}); 60 Promise<PaymentRequestDetailsUpdate?> changeShippingOption(DOMString shippingOption); 61 undefined respondWith(Promise<PaymentHandlerResponse> handlerResponsePromise); 62 }; 63 64 dictionary PaymentRequestEventInit : ExtendableEventInit { 65 USVString topOrigin; 66 USVString paymentRequestOrigin; 67 DOMString paymentRequestId; 68 sequence<PaymentMethodData> methodData; 69 PaymentCurrencyAmount total; 70 sequence<PaymentDetailsModifier> modifiers; 71 PaymentOptions paymentOptions; 72 sequence<PaymentShippingOption> shippingOptions; 73 }; 74 75 dictionary PaymentHandlerResponse { 76 DOMString methodName; 77 object details; 78 DOMString? payerName; 79 DOMString? payerEmail; 80 DOMString? payerPhone; 81 AddressInit shippingAddress; 82 DOMString? shippingOption; 83 }; 84 85 dictionary AddressInit { 86 DOMString country = ""; 87 sequence<DOMString> addressLine = []; 88 DOMString region = ""; 89 DOMString city = ""; 90 DOMString dependentLocality = ""; 91 DOMString postalCode = ""; 92 DOMString sortingCode = ""; 93 DOMString organization = ""; 94 DOMString recipient = ""; 95 DOMString phone = ""; 96 };