1 module libwasm.bindings.PaymentResponse;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.EventHandler;
7 import libwasm.bindings.EventTarget;
8 import libwasm.bindings.PaymentAddress;
9 import libwasm.bindings.PaymentRequest;
10 
11 @safe:
12 nothrow:
13 
14 enum PaymentComplete {
15   success,
16   fail,
17   unknown
18 }
19 struct PaymentResponse {
20   nothrow:
21   libwasm.bindings.EventTarget.EventTarget _parent;
22   alias _parent this;
23   this(Handle h) {
24     _parent = .EventTarget(h);
25   }
26   auto toJSON()() {
27     return JsObject(Object_Getter__Handle(this._parent, "toJSON"));
28   }
29   string requestId()() {
30     return Object_Getter__string(this._parent, "requestId");
31   }
32   string methodName()() {
33     return Object_Getter__string(this._parent, "methodName");
34   }
35   auto details()() {
36     return JsObject(Object_Getter__Handle(this._parent, "details"));
37   }
38   auto shippingAddress()() {
39     return recastOpt!(PaymentAddress)(Object_Getter__OptionalHandle(this._parent, "shippingAddress"));
40   }
41   Optional!(string) shippingOption()() {
42     return Object_Getter__OptionalString(this._parent, "shippingOption");
43   }
44   Optional!(string) payerName()() {
45     return Object_Getter__OptionalString(this._parent, "payerName");
46   }
47   Optional!(string) payerEmail()() {
48     return Object_Getter__OptionalString(this._parent, "payerEmail");
49   }
50   Optional!(string) payerPhone()() {
51     return Object_Getter__OptionalString(this._parent, "payerPhone");
52   }
53   auto complete()(PaymentComplete result /* = "unknown" */) {
54     return JsPromise!(void)(Object_Call_int__Handle(this._parent, "complete", result));
55   }
56   auto complete()() {
57     return JsPromise!(void)(Object_Getter__Handle(this._parent, "complete"));
58   }
59   auto retry()(scope ref PaymentValidationErrors errorFields) {
60     return JsPromise!(void)(Object_Call_Handle__Handle(this._parent, "retry", errorFields.handle));
61   }
62   auto retry()() {
63     return JsPromise!(void)(Object_Getter__Handle(this._parent, "retry"));
64   }
65   void onpayerdetailchange(T0)(scope auto ref Optional!(T0) onpayerdetailchange) if (isTOrPointer!(T0, EventHandlerNonNull)) {
66     Object_Call_EventHandler__void(this._parent, "onpayerdetailchange", !onpayerdetailchange.empty, onpayerdetailchange.front);
67   }
68   EventHandler onpayerdetailchange()() {
69     return Object_Getter__EventHandler(this._parent, "onpayerdetailchange");
70   }
71 }
72 
73