172 lines
4.4 KiB
Text
172 lines
4.4 KiB
Text
// GENERATED CONTENT - DO NOT EDIT
|
|
// Content was automatically extracted by Reffy into webref
|
|
// (https://github.com/w3c/webref)
|
|
// Source: Payment Request API (https://w3c.github.io/payment-request/)
|
|
|
|
[SecureContext, Exposed=Window]
|
|
interface PaymentRequest : EventTarget {
|
|
constructor(
|
|
sequence<PaymentMethodData> methodData,
|
|
PaymentDetailsInit details,
|
|
optional PaymentOptions options = {}
|
|
);
|
|
[NewObject]
|
|
Promise<PaymentResponse> show(optional Promise<PaymentDetailsUpdate> detailsPromise);
|
|
[NewObject]
|
|
Promise<undefined> abort();
|
|
[NewObject]
|
|
Promise<boolean> canMakePayment();
|
|
|
|
readonly attribute DOMString id;
|
|
readonly attribute ContactAddress? shippingAddress;
|
|
readonly attribute DOMString? shippingOption;
|
|
readonly attribute PaymentShippingType? shippingType;
|
|
|
|
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<PaymentItem> displayItems;
|
|
sequence<PaymentShippingOption> shippingOptions;
|
|
sequence<PaymentDetailsModifier> modifiers;
|
|
};
|
|
|
|
dictionary PaymentDetailsInit : PaymentDetailsBase {
|
|
DOMString id;
|
|
required PaymentItem total;
|
|
};
|
|
|
|
dictionary PaymentDetailsUpdate : PaymentDetailsBase {
|
|
DOMString error;
|
|
PaymentItem total;
|
|
AddressErrors shippingAddressErrors;
|
|
PayerErrors payerErrors;
|
|
object paymentMethodErrors;
|
|
};
|
|
|
|
dictionary PaymentDetailsModifier {
|
|
required DOMString supportedMethods;
|
|
PaymentItem total;
|
|
sequence<PaymentItem> additionalDisplayItems;
|
|
object data;
|
|
};
|
|
|
|
enum PaymentShippingType {
|
|
"shipping",
|
|
"delivery",
|
|
"pickup"
|
|
};
|
|
|
|
dictionary PaymentOptions {
|
|
boolean requestPayerName = false;
|
|
boolean requestBillingAddress = false;
|
|
boolean requestPayerEmail = false;
|
|
boolean requestPayerPhone = false;
|
|
boolean requestShipping = false;
|
|
PaymentShippingType shippingType = "shipping";
|
|
};
|
|
|
|
dictionary PaymentItem {
|
|
required DOMString label;
|
|
required PaymentCurrencyAmount amount;
|
|
boolean pending = false;
|
|
};
|
|
|
|
dictionary PaymentCompleteDetails {
|
|
object? data = null;
|
|
};
|
|
|
|
enum PaymentComplete {
|
|
"fail",
|
|
"success",
|
|
"unknown"
|
|
};
|
|
|
|
dictionary PaymentShippingOption {
|
|
required DOMString id;
|
|
required DOMString label;
|
|
required PaymentCurrencyAmount amount;
|
|
boolean selected = false;
|
|
};
|
|
|
|
[SecureContext, Exposed=Window]
|
|
interface PaymentResponse : EventTarget {
|
|
[Default] object toJSON();
|
|
|
|
readonly attribute DOMString requestId;
|
|
readonly attribute DOMString methodName;
|
|
readonly attribute object details;
|
|
readonly attribute ContactAddress? shippingAddress;
|
|
readonly attribute DOMString? shippingOption;
|
|
readonly attribute DOMString? payerName;
|
|
readonly attribute DOMString? payerEmail;
|
|
readonly attribute DOMString? payerPhone;
|
|
|
|
[NewObject]
|
|
Promise<undefined> complete(
|
|
optional PaymentComplete result = "unknown",
|
|
optional PaymentCompleteDetails details = {}
|
|
);
|
|
[NewObject]
|
|
Promise<undefined> retry(optional PaymentValidationErrors errorFields = {});
|
|
|
|
attribute EventHandler onpayerdetailchange;
|
|
};
|
|
|
|
dictionary PaymentValidationErrors {
|
|
PayerErrors payer;
|
|
AddressErrors shippingAddress;
|
|
DOMString error;
|
|
object paymentMethod;
|
|
};
|
|
|
|
dictionary PayerErrors {
|
|
DOMString email;
|
|
DOMString name;
|
|
DOMString phone;
|
|
};
|
|
|
|
dictionary AddressErrors {
|
|
DOMString addressLine;
|
|
DOMString city;
|
|
DOMString country;
|
|
DOMString dependentLocality;
|
|
DOMString organization;
|
|
DOMString phone;
|
|
DOMString postalCode;
|
|
DOMString recipient;
|
|
DOMString region;
|
|
DOMString sortingCode;
|
|
};
|
|
|
|
[SecureContext, Exposed=Window]
|
|
interface PaymentMethodChangeEvent : PaymentRequestUpdateEvent {
|
|
constructor(DOMString type, optional PaymentMethodChangeEventInit eventInitDict = {});
|
|
readonly attribute DOMString methodName;
|
|
readonly attribute object? methodDetails;
|
|
};
|
|
|
|
dictionary PaymentMethodChangeEventInit : PaymentRequestUpdateEventInit {
|
|
DOMString methodName = "";
|
|
object? methodDetails = null;
|
|
};
|
|
|
|
[SecureContext, Exposed=Window]
|
|
interface PaymentRequestUpdateEvent : Event {
|
|
constructor(DOMString type, optional PaymentRequestUpdateEventInit eventInitDict = {});
|
|
undefined updateWith(Promise<PaymentDetailsUpdate> detailsPromise);
|
|
};
|
|
|
|
dictionary PaymentRequestUpdateEventInit : EventInit {};
|