https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 208cfc11c0a61d6d44ec395699ff32c6dcf6ab52 authored by Manuel Rego Casasnovas on 19 March 2018, 16:01:26 UTC
Fix sizing of orthogonal elements with percentage margins
Tip revision: 208cfc1
payment-request.idl
[Constructor(sequence<PaymentMethodData> methodData, PaymentDetailsInit details, optional PaymentOptions options),
  SecureContext,
  Exposed=Window]
interface PaymentRequest : EventTarget {
  Promise<PaymentResponse> show();
  Promise<void> abort();
  Promise<boolean> canMakePayment();

  readonly attribute DOMString id;
  readonly attribute PaymentAddress? shippingAddress;
  readonly attribute DOMString? shippingOption;
  readonly attribute PaymentShippingType? shippingType;

  attribute EventHandler onshippingaddresschange;

  attribute EventHandler onshippingoptionchange;
};
dictionary PaymentMethodData {
  required DOMString supportedMethods;
  object data;
};
dictionary PaymentCurrencyAmount {
  required DOMString currency;
  required DOMString value;
  // Note: currencySystem is "at risk" of being removed!
  DOMString currencySystem = "urn:iso:std:iso:4217";
};
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;
};
dictionary PaymentDetailsModifier {
  required DOMString supportedMethods;
  PaymentItem total;
  sequence<PaymentItem> 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;
};
[SecureContext,
  Exposed=Window]
interface PaymentAddress {
  [Default] object toJSON();
  readonly attribute DOMString country;
  readonly attribute FrozenArray<DOMString> addressLine;
  readonly attribute DOMString region;
  readonly attribute DOMString regionCode;
  readonly attribute DOMString city;
  readonly attribute DOMString dependentLocality;
  readonly attribute DOMString postalCode;
  readonly attribute DOMString sortingCode;
  readonly attribute DOMString languageCode;
  readonly attribute DOMString organization;
  readonly attribute DOMString recipient;
  readonly attribute DOMString phone;
};
dictionary PaymentShippingOption {
  required DOMString id;
  required DOMString label;
  required PaymentCurrencyAmount amount;
  boolean selected = false;
};
enum PaymentComplete {
  "fail",
  "success",
  "unknown"
};
[SecureContext,
  Exposed=Window]
interface PaymentResponse {
  [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;

  Promise<void> complete(optional PaymentComplete result = "unknown");
};
[Constructor(DOMString type, optional PaymentRequestUpdateEventInit eventInitDict),
  SecureContext,
  Exposed=Window]
interface PaymentRequestUpdateEvent : Event {
  void updateWith(Promise<PaymentDetailsUpdate> detailsPromise);
};
dictionary PaymentRequestUpdateEventInit : EventInit {
};
back to top