@feedmepos/mf-payment 1.2.27 → 1.2.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/OnboardForm-DOZ9futX.js +671 -0
  2. package/dist/OnboardForm-SZXqGGPm.js +707 -0
  3. package/dist/OnboardSubmission-BlVBKz-H.js +146 -0
  4. package/dist/OnboardSubmission-CjsvLPVX.js +152 -0
  5. package/dist/{PDFViewer-xrBtzrlR.js → PDFViewer-DlSCBBxr.js} +14 -12
  6. package/dist/{PayoutAccount-DI5YpzGm.js → PayoutAccount-BHbqJwXB.js} +5 -5
  7. package/dist/{PayoutAccount-mlaDc7_i.js → PayoutAccount-Ctd7j0SZ.js} +8 -7
  8. package/dist/{PayoutAccountSetting-IgBRFN0A.js → PayoutAccountSetting-CUlmHkw3.js} +4 -4
  9. package/dist/{Restaurant-CIGhOFvk.js → Restaurant-DDebeSrf.js} +4 -4
  10. package/dist/{RestaurantSetting-0CbusLcz.js → RestaurantSetting-Cf63FkWQ.js} +291 -222
  11. package/dist/{Settlement-DmG5-VSP.js → Settlement-C_V-iTDy.js} +3 -3
  12. package/dist/{Settlement-CUmpNHMN.js → Settlement-CctMzPsZ.js} +3 -3
  13. package/dist/{SettlementTransactions-DhjGSAg4.js → SettlementTransactions-9p3tYV0n.js} +3 -3
  14. package/dist/{SettlementTransactions-CcMUINyi.js → SettlementTransactions-DYvhz0Yh.js} +3 -3
  15. package/dist/Status.vue_vue_type_script_setup_true_lang-wrcEbNj3.js +29 -0
  16. package/dist/{Terminal-KE_9M2jr.js → Terminal-D3QDgPY6.js} +5 -5
  17. package/dist/{TerminalSetting-DdJl_9JJ.js → TerminalSetting-ehm_sRqf.js} +3 -3
  18. package/dist/{Transaction-E9_hSpx4.js → Transaction-DIz_ArbY.js} +6 -6
  19. package/dist/{Transaction-CA9RQ8qT.js → Transaction-DzIzAIbO.js} +5 -5
  20. package/dist/{TransactionOld-lPUiTl8n.js → TransactionOld-CagUKhjR.js} +4 -4
  21. package/dist/{TransactionTable.vue_vue_type_script_setup_true_lang-B03g8Jum.js → TransactionTable.vue_vue_type_script_setup_true_lang-ChuhuUKc.js} +3 -3
  22. package/dist/api/index.d.ts +1 -0
  23. package/dist/api/onboard-submission/index.d.ts +17 -0
  24. package/dist/api/payment-gateway/index.d.ts +3 -1
  25. package/dist/api/payout/index.d.ts +1 -0
  26. package/dist/{app-BohCgZld.js → app-Djt4efuB.js} +212 -131
  27. package/dist/app.d.ts +46 -0
  28. package/dist/app.js +1 -1
  29. package/dist/{assets-Dttfej_E.js → assets-ha4XB2PU.js} +1 -1
  30. package/dist/{grafana-DCGA3gMb.js → grafana-DRZOKr8c.js} +1 -1
  31. package/dist/{index-BQtW6X1l.js → index-8Xu0hCTB.js} +1 -1
  32. package/dist/{index-CZKvrBM7.js → index-B6GVzj7l.js} +1 -1
  33. package/dist/{index-tCobqIDD.js → index-BasdAonL.js} +4930 -4857
  34. package/dist/{index-BOwfUR6x.js → index-DGF3hKwg.js} +1 -1
  35. package/dist/{index-BYLzp2JB.js → index-Dg_mEOso.js} +1 -1
  36. package/dist/{index-JCMXdVSJ.js → index-DoD23lHB.js} +8 -1
  37. package/dist/index-mIFz6n66.js +68 -0
  38. package/dist/{index.vue_vue_type_script_setup_true_lang-DpAWcXVU.js → index.vue_vue_type_script_setup_true_lang-D4bLM6th.js} +1 -1
  39. package/dist/modules.d.ts +1 -0
  40. package/dist/package.json +9 -8
  41. package/dist/payout-account-CE1OxSdW.js +458 -0
  42. package/dist/plugins-ClNUIkc0.js +1366 -0
  43. package/dist/stores/payoutAccount.d.ts +16 -16
  44. package/dist/style.css +1 -1
  45. package/dist/tsconfig.app.tsbuildinfo +1 -1
  46. package/dist/views/admin/onboard-submission/OnboardForm.vue.d.ts +12 -0
  47. package/dist/views/admin/onboard-submission/OnboardSubmission.vue.d.ts +2 -0
  48. package/dist/views/admin/onboard-submission/cell/SignatureBoard.vue.d.ts +10 -0
  49. package/dist/views/admin/onboard-submission/cell/Status.vue.d.ts +5 -0
  50. package/dist/views/admin/onboard-submission/cell/UploadButton.vue.d.ts +11 -0
  51. package/dist/views/admin/onboard-submission/forms/SoftspaceSubmission.vue.d.ts +81 -0
  52. package/dist/views/admin/payout-account/tabs/Information.vue.d.ts +16 -16
  53. package/dist/views/admin/payout-account/tabs/PaymentChannel.vue.d.ts +20 -20
  54. package/dist/views/admin/payout-account/tabs/PaymentGateway.vue.d.ts +20 -20
  55. package/dist/views/admin/payout-account/tabs/PaymentStatus.vue.d.ts +16 -16
  56. package/dist/views/admin/payout-account/tabs/Settlement.vue.d.ts +16 -16
  57. package/dist/views/admin/payout-account/tabs/TokenGateway.vue.d.ts +20 -20
  58. package/dist/views/admin/payout-account/tabs/token/GooglePayToken.vue.d.ts +2 -2
  59. package/dist/views/admin/restaurant/tabs/LocalIntegration.vue.d.ts +803 -0
  60. package/dist/views/admin/settlement/SettlementTable.vue.d.ts +4 -4
  61. package/dist/views/admin/terminal/TerminalDialog.vue.d.ts +8 -8
  62. package/dist/views/admin/terminal/tabs/GhlGateway.vue.d.ts +8 -8
  63. package/dist/views/admin/terminal/tabs/Information.vue.d.ts +8 -8
  64. package/dist/views/admin/terminal/tabs/SettingRequest.vue.d.ts +8 -8
  65. package/dist/views/admin/terminal/tabs/SoftposGateway.vue.d.ts +8 -8
  66. package/dist/views/admin/terminal/tabs/TerminalGateway.vue.d.ts +8 -8
  67. package/dist/views/admin/terminal/tabs/settings/KioskMode.vue.d.ts +8 -8
  68. package/dist/views/onboard-submission/OnboardForm.vue.d.ts +14 -0
  69. package/dist/views/onboard-submission/OnboardSubmission.vue.d.ts +2 -0
  70. package/dist/views/onboard-submission/cell/SignatureBoard.vue.d.ts +10 -0
  71. package/dist/views/onboard-submission/cell/UploadButton.vue.d.ts +11 -0
  72. package/dist/views/onboard-submission/form/SoftSpaceSubmission.vue.d.ts +5 -0
  73. package/dist/views/payout-account/PayoutAccountTable.vue.d.ts +32 -32
  74. package/dist/views/settlement/FiuuSettlementTable.vue.d.ts +48 -48
  75. package/dist/views/settlement/FiuuSettlementTransactions.vue.d.ts +24 -24
  76. package/dist/views/settlement/SettlementTable.vue.d.ts +4 -4
  77. package/package.json +9 -8
  78. package/dist/payout-account-rJmG1Gi5.js +0 -1819
@@ -0,0 +1,671 @@
1
+ import { defineComponent as O, ref as V, computed as Z, resolveComponent as v, openBlock as u, createElementBlock as F, createElementVNode as d, toDisplayString as ee, Fragment as $, createBlock as w, withCtx as x, createVNode as n, createCommentVNode as y, onMounted as se, unref as o, createTextVNode as z, resolveDynamicComponent as ue } from "vue";
2
+ import { z as p, a as c } from "./validator-D5jtpt9A.js";
3
+ import { P as de, _ as me } from "./PDFViewer-DlSCBBxr.js";
4
+ import { useCoreStore as pe } from "@feedmepos/mf-common";
5
+ import { o as L } from "./index-mIFz6n66.js";
6
+ import { p as ce } from "./index-DoD23lHB.js";
7
+ import { useSnackbar as ve } from "@feedmepos/ui-library";
8
+ import { u as X } from "./index-BasdAonL.js";
9
+ import { P as ye } from "./payout-account-CE1OxSdW.js";
10
+ import { useRouter as be } from "vue-router";
11
+ const fe = ["src"], R = /* @__PURE__ */ O({
12
+ __name: "UploadButton",
13
+ props: {
14
+ modelValue: {},
15
+ label: {},
16
+ type: {}
17
+ },
18
+ emits: ["update:modelValue"],
19
+ setup(D, { emit: N }) {
20
+ const P = D, b = V(P.modelValue), g = N, I = (k) => {
21
+ const C = new FileReader();
22
+ C.onload = (q) => {
23
+ var f;
24
+ b.value = (f = q.target) == null ? void 0 : f.result, g("update:modelValue", k);
25
+ }, C.readAsDataURL(k);
26
+ }, A = Z(() => P.type === "image" ? ".png, .jpg, .jpeg" : ".pdf");
27
+ return (k, C) => {
28
+ const q = v("FmButton"), f = v("FmDialog"), s = v("FmDropField");
29
+ return u(), F("div", null, [
30
+ d("p", null, ee(k.label), 1),
31
+ b.value ? (u(), F($, { key: 0 }, [
32
+ k.type === "pdf" ? (u(), w(f, {
33
+ key: 0,
34
+ '"': ""
35
+ }, {
36
+ "dialog-button": x(() => [
37
+ n(q, {
38
+ class: "mt-4",
39
+ "prepend-icon": "preview",
40
+ label: "Preview"
41
+ })
42
+ ]),
43
+ "dialog-header": x(() => C[1] || (C[1] = [
44
+ d("div", null, "Document Preview", -1)
45
+ ])),
46
+ default: x(() => [
47
+ n(de, {
48
+ height: 450,
49
+ pdf: b.value,
50
+ "disable-text-layer": !0,
51
+ "disable-annotation-layer": !0
52
+ }, null, 8, ["pdf"])
53
+ ]),
54
+ _: 1
55
+ })) : y("", !0),
56
+ k.type === "image" ? (u(), F("img", {
57
+ key: 1,
58
+ src: b.value
59
+ }, null, 8, fe)) : y("", !0)
60
+ ], 64)) : y("", !0),
61
+ b.value ? (u(), w(q, {
62
+ key: 1,
63
+ class: "mt-4 w-full",
64
+ "prepend-icon": "delete",
65
+ label: "Clear",
66
+ variant: "destructive",
67
+ onClick: C[0] || (C[0] = (l) => {
68
+ b.value = null, g("update:modelValue", null);
69
+ })
70
+ })) : (u(), w(s, {
71
+ key: 2,
72
+ accept: A.value,
73
+ onFileUpload: I
74
+ }, null, 8, ["accept"]))
75
+ ]);
76
+ };
77
+ }
78
+ }), ge = ["src"], he = {
79
+ key: 0,
80
+ class: "text-center text-red-700 py-4"
81
+ }, Ve = { class: "flex justify-evenly py-3" }, ke = /* @__PURE__ */ O({
82
+ __name: "SignatureBoard",
83
+ props: {
84
+ modelValue: {},
85
+ label: {}
86
+ },
87
+ emits: ["update:modelValue"],
88
+ setup(D, { emit: N }) {
89
+ const P = D, b = N, g = V(P.modelValue), I = V(!1), A = V(), k = V(!1);
90
+ function C(f, s) {
91
+ var a;
92
+ const l = f.split(","), m = ((a = l[0].match(/:(.*?);/)) == null ? void 0 : a[1]) || "", B = atob(l[1]);
93
+ let i = B.length;
94
+ const E = new Uint8Array(i);
95
+ for (; i--; )
96
+ E[i] = B.charCodeAt(i);
97
+ return new File([E], s, { type: m });
98
+ }
99
+ const q = function() {
100
+ const { isEmpty: f, data: s } = A.value.saveSignature();
101
+ if (f)
102
+ return I.value = !0;
103
+ g.value = s, k.value = !1, b("update:modelValue", C(s, "signature.png"));
104
+ };
105
+ return (f, s) => {
106
+ const l = v("FmButton"), m = v("VueSignaturePad"), B = v("FmDialog");
107
+ return u(), F("div", null, [
108
+ d("p", null, ee(f.label), 1),
109
+ g.value ? (u(), F("img", {
110
+ key: 0,
111
+ src: g.value,
112
+ alt: "Signature Preview",
113
+ class: "w-full h-auto"
114
+ }, null, 8, ge)) : y("", !0),
115
+ g.value ? (u(), w(l, {
116
+ key: 1,
117
+ class: "mt-4 w-full",
118
+ "prepend-icon": "delete",
119
+ label: "Clear",
120
+ variant: "destructive",
121
+ onClick: s[0] || (s[0] = (i) => {
122
+ g.value = null, b("update:modelValue", null);
123
+ })
124
+ })) : y("", !0),
125
+ g.value ? y("", !0) : (u(), w(B, {
126
+ key: 2,
127
+ modelValue: k.value,
128
+ "onUpdate:modelValue": s[2] || (s[2] = (i) => k.value = i)
129
+ }, {
130
+ "dialog-button": x(() => [
131
+ n(l, {
132
+ "prepend-icon": "signature",
133
+ class: "w-full",
134
+ label: "Signature"
135
+ })
136
+ ]),
137
+ "dialog-header": x(() => s[3] || (s[3] = [
138
+ d("div", null, "Signature Board", -1)
139
+ ])),
140
+ default: x(() => [
141
+ n(m, {
142
+ ref_key: "signaturePad",
143
+ ref: A,
144
+ height: "300px",
145
+ customStyle: { border: "2px solid #ccc", borderRadius: "3px" },
146
+ options: { penColor: "#000000" }
147
+ }, null, 512),
148
+ I.value ? (u(), F("p", he, " Please sign your signature before saving. ")) : y("", !0),
149
+ d("div", Ve, [
150
+ n(l, {
151
+ variant: "destructive",
152
+ label: "Clear",
153
+ "prepend-icon": "delete",
154
+ onClick: s[1] || (s[1] = (i) => A.value.clearSignature())
155
+ }),
156
+ n(l, {
157
+ label: "Save",
158
+ "prepend-icon": "save",
159
+ onClick: q
160
+ })
161
+ ])
162
+ ]),
163
+ _: 1
164
+ }, 8, ["modelValue"]))
165
+ ]);
166
+ };
167
+ }
168
+ }), Se = {
169
+ key: 0,
170
+ class: "grid grid-cols-4 gap-24"
171
+ }, Fe = { class: "col-span-2" }, Ne = { class: "col-span-2" }, Ce = { class: "col-span-2" }, we = { class: "col-span-2" }, Pe = { class: "col-span-2" }, Ie = { class: "col-span-2" }, Ae = { class: "col-start-1 col-span-2" }, qe = { class: "col-span-2" }, xe = { class: "col-span-2" }, _e = { class: "col-span-2" }, Te = {
172
+ key: 1,
173
+ class: "grid grid-cols-4 gap-24"
174
+ }, Ue = {
175
+ key: 2,
176
+ class: "grid grid-cols-4 gap-24"
177
+ }, De = { key: 3 }, Be = { class: "flex items-stretch gap-6" }, Ee = { class: "flex flex-1 flex-col justify-end" }, Re = { class: "flex flex-1 flex-row items-center gap-8" }, Me = /* @__PURE__ */ O({
178
+ __name: "SoftSpaceSubmission",
179
+ props: {
180
+ submission: {}
181
+ },
182
+ setup(D) {
183
+ var j, H, K, Y, J, Q;
184
+ const { currentRestaurant: N, sessionUser: P } = pe(), b = ve(), g = D, I = be(), { isLoading: A, startAsyncCall: k } = X(!1), { isLoading: C, startAsyncCall: q } = X(!1), f = V(null), s = V(null), l = N.value, m = P.value, B = V(), i = V(1), E = V(!1), a = V({
185
+ bankName: ((H = (j = s.value) == null ? void 0 : j.store.bank) == null ? void 0 : H.name) || "",
186
+ bankAccountNo: ((Y = (K = s.value) == null ? void 0 : K.store.bank) == null ? void 0 : Y.accountNumber) || "",
187
+ bankHolderName: ((Q = (J = s.value) == null ? void 0 : J.store.bank) == null ? void 0 : Q.holderName) || "",
188
+ picName: (m == null ? void 0 : m.displayName) || "",
189
+ picRole: (m == null ? void 0 : m._role) || "",
190
+ picEmail: (m == null ? void 0 : m.email) || "",
191
+ picContact: (m == null ? void 0 : m.phoneNumber) || "",
192
+ outletName: (l == null ? void 0 : l.profile.legalName) || (l == null ? void 0 : l.profile.name) || "",
193
+ outletAddress: (l == null ? void 0 : l.profile.address.line1) || "" + (l == null ? void 0 : l.profile.address.line2) || "",
194
+ outletState: (l == null ? void 0 : l.profile.address.state) || "",
195
+ outletCity: (l == null ? void 0 : l.profile.address.city) || "",
196
+ outletPostCode: (l == null ? void 0 : l.profile.address.postcode) || "",
197
+ tinNo: "",
198
+ sstNo: (l == null ? void 0 : l.profile.sstRegNo) || "",
199
+ businessType: "",
200
+ businessRegNo: (l == null ? void 0 : l.profile.regNo) || ""
201
+ }), r = V({
202
+ authorizedPersonID: null,
203
+ outletPhoto: null,
204
+ bankStatement: null,
205
+ certificate: null,
206
+ signature: null,
207
+ companyStamp: null
208
+ }), M = V({
209
+ authorizedPersonID: null,
210
+ certificate: null,
211
+ signature: null,
212
+ bankStatement: null,
213
+ outletPhoto: null,
214
+ companyStamp: null
215
+ });
216
+ se(() => {
217
+ k(async () => {
218
+ var S, e, T;
219
+ if (!N.value) {
220
+ b.open({
221
+ message: "Please select a restaurant before proceeding.",
222
+ type: "error"
223
+ });
224
+ return;
225
+ }
226
+ g.submission && (f.value = await L.getById(g.submission, N.value._id), a.value = f.value.fields, r.value = f.value.documents), s.value = await ce.readByRestaurantId(N.value._id), a.value.bankName = ((S = s.value.store.bank) == null ? void 0 : S.name) || "", a.value.bankAccountNo = ((e = s.value.store.bank) == null ? void 0 : e.accountNumber) || "", a.value.bankHolderName = ((T = s.value.store.bank) == null ? void 0 : T.holderName) || "";
227
+ });
228
+ });
229
+ const _ = (S, e) => {
230
+ if (M.value[S] = e, e) {
231
+ const T = new FileReader();
232
+ T.onload = (W) => {
233
+ var U;
234
+ r.value[S] = (U = W.target) == null ? void 0 : U.result;
235
+ }, T.readAsDataURL(e);
236
+ } else
237
+ r.value[S] = null;
238
+ }, te = Z(() => i.value === 4 ? E.value && r.value.signature && r.value.companyStamp : i.value === 3 ? r.value.authorizedPersonID && r.value.outletPhoto && r.value.bankStatement && r.value.certificate : i.value < 4), ae = () => {
239
+ if (i.value === 4)
240
+ return q(async () => {
241
+ try {
242
+ for (const S of Object.keys(M.value)) {
243
+ const e = M.value[S];
244
+ e && (r.value[S] = await L.uploadDocument(
245
+ N.value._id,
246
+ S,
247
+ e
248
+ ));
249
+ }
250
+ await L.updateSubmission({
251
+ type: "softspace",
252
+ restaurantId: N.value._id,
253
+ fields: a.value,
254
+ documents: r.value
255
+ }), I.back(), b.open({
256
+ message: "Submission updated successfully.",
257
+ type: "success"
258
+ });
259
+ } catch {
260
+ b.open({
261
+ message: "Failed to update submission.",
262
+ type: "error"
263
+ });
264
+ }
265
+ });
266
+ i.value++;
267
+ };
268
+ return (S, e) => {
269
+ const T = v("FmPageHead"), W = v("FmCircularProgress"), U = v("FmStep"), le = v("FmStepper"), h = v("FmTextField"), oe = v("FmPhoneNumber"), G = v("FmSelect"), ne = v("FmCheckbox"), ie = v("FmButton"), re = v("FmForm");
270
+ return u(), F($, null, [
271
+ n(T, {
272
+ title: "FASSPAY MERCHANT APPLICATION FORM",
273
+ description: `The Merchant Acquiring Services Agreement (together with this Fasspay Merchant Application Form, Letter of Offer and all the Schedules including
274
+ its Appendices) (“Agreement”), is entered into by and between Fass Payment Solutions Sdn. Bhd. (“Fasspay”) with its principal place of business at
275
+ Unit 15-15, Level 15 Q Sentral, 2A, Jalan Stesen Sentral 2, Kuala Lumpur Sentral, 50470 Kuala Lumpur, Malaysia and the entity identified below
276
+ (“Merchant”).`
277
+ }),
278
+ o(A) ? (u(), w(W, {
279
+ key: 0,
280
+ size: "xxl",
281
+ class: "mt-16",
282
+ color: "primary"
283
+ })) : y("", !0),
284
+ o(A) ? y("", !0) : (u(), F($, { key: 1 }, [
285
+ n(le, {
286
+ modelValue: i.value,
287
+ "onUpdate:modelValue": e[0] || (e[0] = (t) => i.value = t),
288
+ class: "px-16 pb-16",
289
+ orientation: "horizontal"
290
+ }, {
291
+ default: x(() => [
292
+ n(U, {
293
+ title: "Outlet Information",
294
+ description: "Enter your outlet details.",
295
+ value: 1,
296
+ complete: () => i.value > 1,
297
+ disabled: () => i.value < 1
298
+ }, null, 8, ["complete", "disabled"]),
299
+ n(U, {
300
+ title: "Payout Information",
301
+ description: "Enter your payout details.",
302
+ value: 2,
303
+ complete: () => i.value > 2,
304
+ disabled: () => i.value < 2
305
+ }, null, 8, ["complete", "disabled"]),
306
+ n(U, {
307
+ title: "Legal Documents",
308
+ description: "Upload your legal documents.",
309
+ value: 3,
310
+ complete: () => i.value > 3,
311
+ disabled: () => i.value < 3
312
+ }, null, 8, ["complete", "disabled"]),
313
+ n(U, {
314
+ title: "Declaration",
315
+ description: "Accept Terms & Conditions.",
316
+ value: 4,
317
+ complete: () => i.value > 4,
318
+ disabled: () => i.value < 4
319
+ }, null, 8, ["complete", "disabled"])
320
+ ]),
321
+ _: 1
322
+ }, 8, ["modelValue"]),
323
+ n(re, {
324
+ ref_key: "form",
325
+ ref: B,
326
+ "blame-form-child-on-validation-failed": !0,
327
+ onValidationSuccess: ae,
328
+ class: "px-24 pb-24"
329
+ }, {
330
+ default: x(() => [
331
+ i.value === 1 ? (u(), F("div", Se, [
332
+ d("div", Fe, [
333
+ n(h, {
334
+ modelValue: a.value.picName,
335
+ "onUpdate:modelValue": e[1] || (e[1] = (t) => a.value.picName = t),
336
+ label: "PIC Name",
337
+ placeholder: "Enter your name",
338
+ "label-mark": "required",
339
+ rules: o(p)(o(c).string().min(1, "PIC Name is required"))
340
+ }, null, 8, ["modelValue", "rules"])
341
+ ]),
342
+ d("div", Ne, [
343
+ n(h, {
344
+ modelValue: a.value.picRole,
345
+ "onUpdate:modelValue": e[2] || (e[2] = (t) => a.value.picRole = t),
346
+ label: "PIC Role",
347
+ placeholder: "Enter your role",
348
+ "label-mark": "required",
349
+ rules: o(p)(o(c).string().min(1, "PIC Role is required"))
350
+ }, null, 8, ["modelValue", "rules"])
351
+ ]),
352
+ d("div", Ce, [
353
+ n(h, {
354
+ modelValue: a.value.picEmail,
355
+ "onUpdate:modelValue": e[3] || (e[3] = (t) => a.value.picEmail = t),
356
+ label: "PIC Email",
357
+ type: "email",
358
+ placeholder: "Enter your email address",
359
+ "label-mark": "required",
360
+ rules: o(p)(o(c).string().min(1, "PIC Email is required"))
361
+ }, null, 8, ["modelValue", "rules"])
362
+ ]),
363
+ d("div", we, [
364
+ n(oe, {
365
+ "model-value": a.value.picContact,
366
+ "onUpdate:modelValue": e[4] || (e[4] = (t) => a.value.picContact = t),
367
+ "default-country": "MY",
368
+ label: "PIC Contact",
369
+ "label-mark": "required",
370
+ rules: o(p)(o(c).string().min(1, "PIC Contact is required"))
371
+ }, null, 8, ["model-value", "rules"])
372
+ ]),
373
+ d("div", Pe, [
374
+ n(h, {
375
+ modelValue: a.value.outletName,
376
+ "onUpdate:modelValue": e[5] || (e[5] = (t) => a.value.outletName = t),
377
+ label: "Outlet Name",
378
+ placeholder: "Enter outlet name",
379
+ "label-mark": "required",
380
+ rules: o(p)(o(c).string().min(1, "Outlet Name is required"))
381
+ }, null, 8, ["modelValue", "rules"])
382
+ ]),
383
+ d("div", Ie, [
384
+ n(h, {
385
+ modelValue: a.value.outletAddress,
386
+ "onUpdate:modelValue": e[6] || (e[6] = (t) => a.value.outletAddress = t),
387
+ label: "Outlet Address",
388
+ placeholder: "Enter outlet address",
389
+ "label-mark": "required",
390
+ rules: o(p)(o(c).string().min(1, "Address is required"))
391
+ }, null, 8, ["modelValue", "rules"])
392
+ ]),
393
+ n(h, {
394
+ modelValue: a.value.outletPostCode,
395
+ "onUpdate:modelValue": e[7] || (e[7] = (t) => a.value.outletPostCode = t),
396
+ label: "Postal Code",
397
+ placeholder: "Enter postal code",
398
+ "label-mark": "required",
399
+ rules: o(p)(o(c).string().min(1, "Postal Code is required"))
400
+ }, null, 8, ["modelValue", "rules"]),
401
+ n(h, {
402
+ modelValue: a.value.outletState,
403
+ "onUpdate:modelValue": e[8] || (e[8] = (t) => a.value.outletState = t),
404
+ label: "State",
405
+ placeholder: "Enter state",
406
+ "label-mark": "required",
407
+ rules: o(p)(o(c).string().min(1, "State is required"))
408
+ }, null, 8, ["modelValue", "rules"]),
409
+ n(h, {
410
+ modelValue: a.value.outletCity,
411
+ "onUpdate:modelValue": e[9] || (e[9] = (t) => a.value.outletCity = t),
412
+ label: "City",
413
+ placeholder: "Enter city",
414
+ "label-mark": "required",
415
+ rules: o(p)(o(c).string().min(1, "City is required"))
416
+ }, null, 8, ["modelValue", "rules"]),
417
+ d("div", Ae, [
418
+ n(G, {
419
+ modelValue: a.value.businessType,
420
+ "onUpdate:modelValue": e[10] || (e[10] = (t) => a.value.businessType = t),
421
+ label: "Type",
422
+ placeholder: "Select business type",
423
+ "label-mark": "required",
424
+ rules: o(p)(o(c).string().min(1, "Business Type is required")),
425
+ items: [
426
+ { label: "Sole Proprietorship", value: "sole_proprietorship" },
427
+ { label: "Partnership", value: "partnership" },
428
+ { label: "Private Limited Company (Sdn Bhd)", value: "private_limited" },
429
+ { label: "Public Limited Company (Berhad)", value: "public_limited" }
430
+ ]
431
+ }, null, 8, ["modelValue", "rules"])
432
+ ]),
433
+ d("div", qe, [
434
+ n(h, {
435
+ modelValue: a.value.businessRegNo,
436
+ "onUpdate:modelValue": e[11] || (e[11] = (t) => a.value.businessRegNo = t),
437
+ label: "Registration No",
438
+ placeholder: "Enter registration number",
439
+ "label-mark": "required",
440
+ rules: o(p)(o(c).string().min(1, "Reg No is required"))
441
+ }, null, 8, ["modelValue", "rules"])
442
+ ]),
443
+ d("div", xe, [
444
+ n(h, {
445
+ modelValue: a.value.tinNo,
446
+ "onUpdate:modelValue": e[12] || (e[12] = (t) => a.value.tinNo = t),
447
+ label: "Tax Identification No (TIN)",
448
+ placeholder: "Enter your TIN number",
449
+ "label-mark": "required",
450
+ rules: o(p)(o(c).string().min(1, "TIN is required"))
451
+ }, null, 8, ["modelValue", "rules"])
452
+ ]),
453
+ d("div", _e, [
454
+ n(h, {
455
+ modelValue: a.value.sstNo,
456
+ "onUpdate:modelValue": e[13] || (e[13] = (t) => a.value.sstNo = t),
457
+ label: "SST Registration No (SST)",
458
+ placeholder: "Enter your SST number",
459
+ "label-mark": "required",
460
+ rules: o(p)(o(c).string().min(1, "SST No is required"))
461
+ }, null, 8, ["modelValue", "rules"])
462
+ ])
463
+ ])) : y("", !0),
464
+ i.value === 2 ? (u(), F("div", Te, [
465
+ n(G, {
466
+ modelValue: a.value.bankName,
467
+ "onUpdate:modelValue": e[14] || (e[14] = (t) => a.value.bankName = t),
468
+ label: "Bank",
469
+ placeholder: "Select bank type",
470
+ "label-mark": "required",
471
+ rules: o(p)(o(c).string().min(1, "Bank Type is required")),
472
+ items: o(ye).bankNameOptions()
473
+ }, null, 8, ["modelValue", "rules", "items"]),
474
+ n(h, {
475
+ modelValue: a.value.bankHolderName,
476
+ "onUpdate:modelValue": e[15] || (e[15] = (t) => a.value.bankHolderName = t),
477
+ label: "Beneficiary Name",
478
+ placeholder: "Enter Beneficiary Name",
479
+ "label-mark": "required",
480
+ rules: o(p)(o(c).string().min(1, "Beneficiary Name is required"))
481
+ }, null, 8, ["modelValue", "rules"]),
482
+ n(h, {
483
+ modelValue: a.value.bankAccountNo,
484
+ "onUpdate:modelValue": e[16] || (e[16] = (t) => a.value.bankAccountNo = t),
485
+ label: "Account Number",
486
+ placeholder: "Enter Account Number",
487
+ "label-mark": "required",
488
+ rules: o(p)(o(c).string().min(1, "Account Number is required"))
489
+ }, null, 8, ["modelValue", "rules"])
490
+ ])) : y("", !0),
491
+ i.value === 3 ? (u(), F("div", Ue, [
492
+ n(R, {
493
+ label: "Authorized Person ID",
494
+ modelValue: r.value.authorizedPersonID,
495
+ "onUpdate:modelValue": [
496
+ e[17] || (e[17] = (t) => r.value.authorizedPersonID = t),
497
+ e[18] || (e[18] = (t) => _("authorizedPersonID", t))
498
+ ],
499
+ type: "image"
500
+ }, null, 8, ["modelValue"]),
501
+ n(R, {
502
+ label: "Outlet Photo",
503
+ modelValue: r.value.outletPhoto,
504
+ "onUpdate:modelValue": [
505
+ e[19] || (e[19] = (t) => r.value.outletPhoto = t),
506
+ e[20] || (e[20] = (t) => _("outletPhoto", t))
507
+ ],
508
+ type: "image"
509
+ }, null, 8, ["modelValue"]),
510
+ n(R, {
511
+ label: "Latest Bank Statement",
512
+ modelValue: r.value.bankStatement,
513
+ "onUpdate:modelValue": [
514
+ e[21] || (e[21] = (t) => r.value.bankStatement = t),
515
+ e[22] || (e[22] = (t) => _("bankStatement", t))
516
+ ],
517
+ type: "pdf"
518
+ }, null, 8, ["modelValue"]),
519
+ a.value.businessType === "private_limited" || a.value.businessType === "public_limited" ? (u(), w(R, {
520
+ key: 0,
521
+ label: "Superform",
522
+ type: "pdf",
523
+ modelValue: r.value.certificate,
524
+ "onUpdate:modelValue": [
525
+ e[23] || (e[23] = (t) => r.value.certificate = t),
526
+ e[24] || (e[24] = (t) => _("certificate", t))
527
+ ]
528
+ }, null, 8, ["modelValue"])) : y("", !0),
529
+ a.value.businessType === "sole_proprietorship" || a.value.businessType === "partnership" ? (u(), w(R, {
530
+ key: 1,
531
+ label: "SSM Certificate & Info",
532
+ type: "pdf",
533
+ modelValue: r.value.certificate,
534
+ "onUpdate:modelValue": [
535
+ e[25] || (e[25] = (t) => r.value.certificate = t),
536
+ e[26] || (e[26] = (t) => _("certificate", t))
537
+ ]
538
+ }, null, 8, ["modelValue"])) : y("", !0)
539
+ ])) : y("", !0),
540
+ i.value === 4 ? (u(), F("div", De, [
541
+ e[32] || (e[32] = d("pre", { class: "w-full h-full p-4 overflow-y-auto whitespace-pre-wrap" }, [
542
+ z(""),
543
+ d("b", null, "Fasspay Merchant Services Application T&C"),
544
+ z(`
545
+
546
+ I/We confirm and certify that all information contained in this Fasspay Merchant Services Application Form and other documentation, submitted in support of this
547
+ application are complete, true and correct.
548
+
549
+ I/We hereby authorize and expressly consent to Fass Payment Solutions Sdn. Bhd. (“Fasspay”) to use, collect, record, store, share and process my/our personal
550
+ information, including, without limitation, my/our contact details, background information, financial data and other information relevant to my/our application. I/We
551
+ hereby further authorize Fasspay to verify the information from any source and by whatever means Fasspay considers appropriate and I/We shall be bound by the
552
+ terms and conditions of the Merchant Acquiring Services Agreement entered between Fasspay and I/us.
553
+
554
+ I/We hereby expressly consent for Fasspay to disclose my/our personal data (as defined under the Personal Data Protection Act 2010) to any credit reporting agency
555
+ in Malaysia to conduct credit checks and I/We hereby consent to the credit reporting agency to disclose the my/our credit report (as defined under the Credit
556
+ Reporting Agencies Act 2010) to Fasspay. I/We authorize Fasspay to seek the disclosure of my/our credit reports, from time to time in connection with the
557
+ application, distribution and provision of products and services, even if the relationship between Fasspay and I/us may have been terminated and/or an event of
558
+ default has occurred. I/We hereby agree that all information obtained by Fasspay pursuant to this application may be disclosed by Fasspay to any person and for any
559
+ purpose as Fasspay may deem fit or proper at any time and from time to time at its sole and absolute discretion.
560
+
561
+ I/We understand that I/We have two options to accept Debit Cards: MyDebit Routing and International Debit (Scheme) Routing. Either routing option will allow
562
+ me/us to accept all Debit & Credit Cards. In the event that I/We do not exercise out right in priority routing, I/We understand that Fasspay will route the transaction
563
+ to the most cost-effective debit card network.
564
+
565
+ I/We agree and understood that I/we shall not under any circumstances, levy a surcharge on the Cardholder to pay any part of the Merchant Discount by any
566
+ increase in the display or listed price of the provisions of goods and/or services.
567
+ By signing this Agreement or, in the event an electronic version of this Agreement is used, by clicking the button “I Confirm” or similar button, registering, accessing
568
+ or using the Merchant Services, I/we enter into a legally binding agreement with Fasspay which will take effect on the date signing this Agreement by me/us
569
+ (“Effective Date”). I/we agree to accept the terms and conditions set out in this Agreement and as stated in the Fasspay Merchant Terms of Service available at
570
+ https://fasspay.com/support/terms-service, and I/We understand that Fasspay has the right to reject my/our application and is not obliged to provide any reason for
571
+ such rejection or to respond any request for information.
572
+
573
+ `),
574
+ d("b", null, "Fasspay e-Wallet Merchant Services Application T&C"),
575
+ z(`
576
+
577
+ Fass Payment Solutions Sdn Bhd (“Fasspay”) is an approved issuer by Bank Negara Malaysia to issue electronic money (e-money) via its mobile application, pursuant
578
+ to Section 11 of the Financial Services Act 2013.
579
+
580
+ I/We hereby declare that (a)I/we authorized to execute this Merchant Application Form; (b) all information provided herein is true and correct; (c) all original
581
+ documents provided to Fasspay are genuine and updated; and (d) all photocopies provided to Fasspay are true copies of the original documents. I/We undertake to
582
+ notify Fasspay in writing if there is/are any change(s) on the information provided to Fasspay earlier.
583
+
584
+ I/We further authorize Fasspay to verify the information/documents given by me/us from any source (including third parties and regulatory bodies) and in such
585
+ manner as Fasspay shall deem fit.
586
+ Fasspay shall have the right to request for further information to verify the user account details or merchant account, and has the right to access account
587
+ information at any time but shall not use the information for any purposes except where legally required to do, or to verify your identity in the event of suspicious
588
+ activity or suspected fraudulent behavior.
589
+
590
+ I/We agree to be bound by the Fasspay Merchant Terms of Service available at https://fasspay.com/support/terms-service at the date of this Application Form.
591
+ Fasspay reserves the right to approve or reject my/our application for any reason.
592
+
593
+ I/We have understood all requirements indicated by Fasspay and will ensure that total compliance is met at all times. Any penalty imposed due to non-compliance
594
+ will be fully borne by me/us.
595
+
596
+ Refund / Void: Merchant needs to notify in writing to wallet.support@fasspay.com. Void can only be performed on the same day as the transaction.
597
+
598
+ Termination / Discontinuation: Merchant needs to notify in writing to wallet.support@fasspay.com. Termination will be carried out 1 week after receipt of written
599
+ notice.
600
+ `)
601
+ ], -1)),
602
+ d("div", Be, [
603
+ d("div", Ee, [
604
+ n(ne, {
605
+ modelValue: E.value,
606
+ "onUpdate:modelValue": e[27] || (e[27] = (t) => E.value = t),
607
+ label: "I/We have read and agree to the Terms & Conditions",
608
+ value: "1"
609
+ }, null, 8, ["modelValue"])
610
+ ]),
611
+ d("div", Re, [
612
+ n(ke, {
613
+ modelValue: r.value.signature,
614
+ "onUpdate:modelValue": [
615
+ e[28] || (e[28] = (t) => r.value.signature = t),
616
+ e[29] || (e[29] = (t) => _("signature", t))
617
+ ],
618
+ class: "w-[256px] h-[128px]",
619
+ label: "Signature"
620
+ }, null, 8, ["modelValue"]),
621
+ n(R, {
622
+ label: "Company Stamp",
623
+ type: "image",
624
+ class: "w-[256px]",
625
+ modelValue: r.value.companyStamp,
626
+ "onUpdate:modelValue": [
627
+ e[30] || (e[30] = (t) => r.value.companyStamp = t),
628
+ e[31] || (e[31] = (t) => _("companyStamp", t))
629
+ ]
630
+ }, null, 8, ["modelValue"])
631
+ ])
632
+ ])
633
+ ])) : y("", !0),
634
+ te.value ? (u(), w(ie, {
635
+ key: 4,
636
+ variant: "primary",
637
+ type: "submit",
638
+ loading: o(C),
639
+ label: i.value < 4 ? "Next" : "Submit",
640
+ "append-icon": i.value < 4 ? "arrow_forward" : "send",
641
+ class: "mt-6 w-full"
642
+ }, null, 8, ["loading", "label", "append-icon"])) : y("", !0)
643
+ ]),
644
+ _: 1
645
+ }, 512)
646
+ ], 64))
647
+ ], 64);
648
+ };
649
+ }
650
+ }), We = {
651
+ props: ["type", "submission"],
652
+ computed: {
653
+ currentComponent() {
654
+ switch (this.type) {
655
+ case "softspace":
656
+ return Me;
657
+ default:
658
+ return this.$nextTick(() => {
659
+ this.$router.back();
660
+ }), null;
661
+ }
662
+ }
663
+ }
664
+ };
665
+ function ze(D, N, P, b, g, I) {
666
+ return u(), w(ue(I.currentComponent), { submission: P.submission }, null, 8, ["submission"]);
667
+ }
668
+ const Xe = /* @__PURE__ */ me(We, [["render", ze]]);
669
+ export {
670
+ Xe as default
671
+ };