1/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2/* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
4 * You can obtain one at http://mozilla.org/MPL/2.0/.
5 *
6 * The origin of this WebIDL file is
7 *   https:/w3c.github.io/payment-request/#paymentresponse-interface
8 *
9 * Copyright © 2018 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
10 * liability, trademark and document use rules apply.
11 */
12
13enum PaymentComplete {
14  "success",
15  "fail",
16  "unknown"
17};
18
19[SecureContext,
20 Func="mozilla::dom::PaymentRequest::PrefEnabled",
21 Exposed=Window]
22interface PaymentResponse : EventTarget {
23  [Default] object toJSON();
24
25  readonly attribute DOMString       requestId;
26  readonly attribute DOMString       methodName;
27  readonly attribute object          details;
28  readonly attribute PaymentAddress? shippingAddress;
29  readonly attribute DOMString?      shippingOption;
30  readonly attribute DOMString?      payerName;
31  readonly attribute DOMString?      payerEmail;
32  readonly attribute DOMString?      payerPhone;
33
34  [NewObject]
35  Promise<void> complete(optional PaymentComplete result = "unknown");
36
37  // If the dictionary argument has no required members, it must be optional.
38  [NewObject]
39  Promise<void> retry(optional PaymentValidationErrors errorFields = {});
40
41  attribute EventHandler onpayerdetailchange;
42};
43