// GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into reffy-reports // (https://github.com/tidoust/reffy-reports) // Source: Payment Request API (https://w3c.github.io/payment-request/) [Constructor(sequence methodData, PaymentDetailsInit details, optional PaymentOptions options), SecureContext, Exposed=Window] interface PaymentRequest : EventTarget { [NewObject] Promise show(optional Promise detailsPromise); [NewObject] Promise abort(); [NewObject] Promise canMakePayment(); readonly attribute DOMString id; readonly attribute PaymentAddress? shippingAddress; readonly attribute DOMString? shippingOption; readonly attribute PaymentShippingType? shippingType; attribute EventHandler onmerchantvalidation; attribute EventHandler onshippingaddresschange; attribute EventHandler onshippingoptionchange; attribute EventHandler onpaymentmethodchange; }; dictionary PaymentMethodData { required DOMString supportedMethods; object data; }; dictionary PaymentCurrencyAmount { required DOMString currency; required DOMString value; }; dictionary PaymentDetailsBase { sequence displayItems; sequence shippingOptions; sequence modifiers; }; dictionary PaymentDetailsInit : PaymentDetailsBase { DOMString id; required PaymentItem total; }; dictionary PaymentDetailsUpdate : PaymentDetailsBase { DOMString error; PaymentItem total; AddressErrors shippingAddressErrors; }; dictionary PaymentDetailsModifier { required DOMString supportedMethods; PaymentItem total; sequence additionalDisplayItems; object data; }; enum PaymentShippingType { "shipping", "delivery", "pickup" }; dictionary PaymentOptions { boolean requestPayerName = false; boolean requestPayerEmail = false; boolean requestPayerPhone = false; boolean requestShipping = false; PaymentShippingType shippingType = "shipping"; }; dictionary PaymentItem { required DOMString label; required PaymentCurrencyAmount amount; boolean pending = false; // Note: type member is "at risk" of being removed! PaymentItemType type; }; enum PaymentItemType { "tax" }; [SecureContext, Exposed=(Window)] interface PaymentAddress { [Default] object toJSON(); readonly attribute DOMString city; readonly attribute DOMString country; readonly attribute DOMString dependentLocality; // "languageCode" is a feature at risk readonly attribute DOMString languageCode; readonly attribute DOMString organization; readonly attribute DOMString phone; readonly attribute DOMString postalCode; readonly attribute DOMString recipient; readonly attribute DOMString region; readonly attribute DOMString regionCode; readonly attribute DOMString sortingCode; readonly attribute FrozenArray addressLine; }; dictionary AddressInit { DOMString country; sequence addressLine; DOMString region; DOMString regionCode; DOMString city; DOMString dependentLocality; DOMString postalCode; DOMString sortingCode; DOMString languageCode; DOMString organization; DOMString recipient; DOMString phone; }; dictionary AddressErrors { DOMString addressLine; DOMString city; DOMString country; DOMString dependentLocality; DOMString languageCode; DOMString organization; DOMString phone; DOMString postalCode; DOMString recipient; DOMString region; DOMString regionCode; DOMString sortingCode; }; dictionary PaymentShippingOption { required DOMString id; required DOMString label; required PaymentCurrencyAmount amount; boolean selected = false; }; enum PaymentComplete { "fail", "success", "unknown" }; [SecureContext, Exposed=Window] interface PaymentResponse : EventTarget { [Default] object toJSON(); readonly attribute DOMString requestId; readonly attribute DOMString methodName; readonly attribute object details; readonly attribute PaymentAddress? shippingAddress; readonly attribute DOMString? shippingOption; readonly attribute DOMString? payerName; readonly attribute DOMString? payerEmail; readonly attribute DOMString? payerPhone; [NewObject] Promise complete(optional PaymentComplete result = "unknown"); [NewObject] Promise retry(PaymentValidationErrors errorFields); attribute EventHandler onpayerdetailchange; }; dictionary PaymentValidationErrors { PayerErrorFields payer; AddressErrors shippingAddress; DOMString error; object paymentMethod; }; dictionary PayerErrorFields { DOMString email; DOMString name; DOMString phone; }; [Constructor(DOMString type, optional MerchantValidationEventInit eventInitDict), SecureContext, Exposed=Window] interface MerchantValidationEvent : Event { readonly attribute USVString validationURL; void complete(Promise merchantSessionPromise); }; dictionary MerchantValidationEventInit : EventInit { USVString validationURL = ""; }; [Constructor(DOMString type, optional PaymentMethodChangeEventInit eventInitDict), SecureContext, Exposed=Window] interface PaymentMethodChangeEvent : PaymentRequestUpdateEvent { readonly attribute DOMString methodName; readonly attribute object? methodDetails; }; dictionary PaymentMethodChangeEventInit : PaymentRequestUpdateEventInit { required DOMString methodName; object? methodDetails; }; [Constructor(DOMString type, optional PaymentRequestUpdateEventInit eventInitDict), SecureContext, Exposed=Window] interface PaymentRequestUpdateEvent : Event { void updateWith(Promise detailsPromise); }; dictionary PaymentRequestUpdateEventInit : EventInit {};