diff options
Diffstat (limited to '')
-rw-r--r-- | test/wpt/tests/interfaces/payment-handler.idl | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/test/wpt/tests/interfaces/payment-handler.idl b/test/wpt/tests/interfaces/payment-handler.idl new file mode 100644 index 0000000..91c0129 --- /dev/null +++ b/test/wpt/tests/interfaces/payment-handler.idl @@ -0,0 +1,131 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Payment Handler API (https://w3c.github.io/payment-handler/) + +partial interface ServiceWorkerRegistration { + [SameObject] readonly attribute PaymentManager paymentManager; +}; + +[SecureContext, Exposed=(Window)] +interface PaymentManager { + attribute DOMString userHint; + Promise<undefined> enableDelegations(sequence<PaymentDelegation> delegations); +}; + +enum PaymentDelegation { + "shippingAddress", + "payerName", + "payerPhone", + "payerEmail" +}; + +partial interface ServiceWorkerGlobalScope { + attribute EventHandler oncanmakepayment; +}; + +[Exposed=ServiceWorker] +interface CanMakePaymentEvent : ExtendableEvent { + constructor(DOMString type); + undefined respondWith(Promise<boolean> canMakePaymentResponse); +}; + +partial interface ServiceWorkerGlobalScope { + attribute EventHandler onpaymentrequest; +}; + +dictionary PaymentRequestDetailsUpdate { + DOMString error; + PaymentCurrencyAmount total; + sequence<PaymentDetailsModifier> modifiers; + sequence<PaymentShippingOption> shippingOptions; + object paymentMethodErrors; + AddressErrors shippingAddressErrors; +}; + +[Exposed=ServiceWorker] +interface PaymentRequestEvent : ExtendableEvent { + constructor(DOMString type, optional PaymentRequestEventInit eventInitDict = {}); + readonly attribute USVString topOrigin; + readonly attribute USVString paymentRequestOrigin; + readonly attribute DOMString paymentRequestId; + readonly attribute FrozenArray<PaymentMethodData> methodData; + readonly attribute object total; + readonly attribute FrozenArray<PaymentDetailsModifier> modifiers; + readonly attribute object? paymentOptions; + readonly attribute FrozenArray<PaymentShippingOption>? shippingOptions; + Promise<WindowClient?> openWindow(USVString url); + Promise<PaymentRequestDetailsUpdate?> changePaymentMethod(DOMString methodName, optional object? methodDetails = null); + Promise<PaymentRequestDetailsUpdate?> changeShippingAddress(optional AddressInit shippingAddress = {}); + Promise<PaymentRequestDetailsUpdate?> changeShippingOption(DOMString shippingOption); + undefined respondWith(Promise<PaymentHandlerResponse> handlerResponsePromise); +}; + +dictionary PaymentRequestEventInit : ExtendableEventInit { + USVString topOrigin; + USVString paymentRequestOrigin; + DOMString paymentRequestId; + sequence<PaymentMethodData> methodData; + PaymentCurrencyAmount total; + sequence<PaymentDetailsModifier> modifiers; + PaymentOptions paymentOptions; + sequence<PaymentShippingOption> shippingOptions; +}; + +dictionary PaymentHandlerResponse { +DOMString methodName; +object details; +DOMString? payerName; +DOMString? payerEmail; +DOMString? payerPhone; +AddressInit shippingAddress; +DOMString? shippingOption; +}; + +dictionary AddressInit { + DOMString country = ""; + sequence<DOMString> addressLine = []; + DOMString region = ""; + DOMString city = ""; + DOMString dependentLocality = ""; + DOMString postalCode = ""; + DOMString sortingCode = ""; + DOMString organization = ""; + DOMString recipient = ""; + DOMString phone = ""; +}; + +dictionary PaymentOptions { + boolean requestPayerName = false; + boolean requestBillingAddress = false; + boolean requestPayerEmail = false; + boolean requestPayerPhone = false; + boolean requestShipping = false; + PaymentShippingType shippingType = "shipping"; +}; + +dictionary PaymentShippingOption { + required DOMString id; + required DOMString label; + required PaymentCurrencyAmount amount; + boolean selected = false; +}; + +enum PaymentShippingType { + "shipping", + "delivery", + "pickup" +}; + +dictionary AddressErrors { + DOMString addressLine; + DOMString city; + DOMString country; + DOMString dependentLocality; + DOMString organization; + DOMString phone; + DOMString postalCode; + DOMString recipient; + DOMString region; + DOMString sortingCode; +}; |