blob: 8cf44ee116a5d11f6f663e50b238fee7a9c04bef [file] [log] [blame]
[SecureContext,
Exposed=(Window,Worker)]
interface PaymentManager {
[SameObject]
readonly attribute PaymentInstruments instruments;
[Exposed=Window] static Promise<PermissionState> requestPermission();
};
[SecureContext,
Exposed=(Window,Worker)]
interface PaymentInstruments {
Promise<boolean> delete(DOMString instrumentKey);
Promise<PaymentInstrument> get(DOMString instrumentKey);
Promise<sequence<DOMString>> keys();
Promise<boolean> has(DOMString instrumentKey);
Promise<void> set(DOMString instrumentKey,
PaymentInstrument details);
Promise<void> clear();
};
dictionary PaymentInstrument {
required DOMString name;
sequence<ImageObject> icons;
sequence<DOMString> enabledMethods;
object capabilities;
};
dictionary ImageObject {
required USVString src;
DOMString sizes;
DOMString type;
};
[Constructor(DOMString type, CanMakePaymentEventInit eventInitDict),
Exposed=ServiceWorker]
interface CanMakePaymentEvent : ExtendableEvent {
readonly attribute USVString topLevelOrigin;
readonly attribute USVString paymentRequestOrigin;
readonly attribute FrozenArray<PaymentMethodData> methodData;
readonly attribute FrozenArray<PaymentDetailsModifier> modifiers;
void respondWith(Promise<boolean> canMakePaymentResponse);
};
dictionary CanMakePaymentEventInit : ExtendableEventInit {
USVString topLevelOrigin;
USVString paymentRequestOrigin;
sequence<PaymentMethodData> methodData;
sequence<PaymentDetailsModifier> modifiers;
};
[Constructor(DOMString type, PaymentRequestEventInit eventInitDict),
Exposed=ServiceWorker]
interface PaymentRequestEvent : ExtendableEvent {
readonly attribute USVString topLevelOrigin;
readonly attribute USVString paymentRequestOrigin;
readonly attribute DOMString paymentRequestId;
readonly attribute FrozenArray<PaymentMethodData> methodData;
readonly attribute object total;
readonly attribute FrozenArray<PaymentDetailsModifier> modifiers;
readonly attribute DOMString instrumentKey;
Promise<WindowClient?> openWindow(USVString url);
void respondWith(Promise<PaymentHandlerResponse> handlerResponse);
};
dictionary PaymentRequestEventInit : ExtendableEventInit {
USVString topLevelOrigin;
USVString paymentRequestOrigin;
DOMString paymentRequestId;
sequence<PaymentMethodData> methodData;
PaymentCurrencyAmount total;
sequence<PaymentDetailsModifier> modifiers;
DOMString instrumentKey;
};
dictionary PaymentHandlerResponse {
DOMString methodName;
object details;
};