monime-package 1.0.8 → 1.1.0

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.
package/dist/index.js CHANGED
@@ -1,737 +1 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // src/index.ts
31
- var index_exports = {};
32
- __export(index_exports, {
33
- MonimeClient: () => MonimeClient,
34
- createClient: () => createClient
35
- });
36
- module.exports = __toCommonJS(index_exports);
37
-
38
- // src/modules/checkout session/checkoutSession.ts
39
- var import_node_crypto = require("crypto");
40
- var import_axios = __toESM(require("axios"));
41
- var value = (0, import_node_crypto.randomBytes)(20).toString("hex");
42
- var URL = "https://api.monime.io/v1/checkout-sessions";
43
- async function createCheckout(client, name, amount, quantity, successUrl, cancelUrl, description, financialAccountId, primaryColor, images) {
44
- const { monimeSpaceId, accessToken } = client._getConfig();
45
- const body = {
46
- name,
47
- description,
48
- cancelUrl,
49
- successUrl,
50
- callbackState: null,
51
- reference: null,
52
- financialAccountId,
53
- lineItems: [
54
- {
55
- type: "custom",
56
- name,
57
- price: {
58
- currency: "SLE",
59
- value: amount
60
- },
61
- quantity,
62
- reference: null,
63
- description,
64
- images
65
- }
66
- ],
67
- paymentOptions: {
68
- card: {
69
- disable: false
70
- },
71
- bank: {
72
- disable: false,
73
- enabledProviders: ["slb001", "slb004", "slb007"]
74
- // disabledProviders: ["slb001"],
75
- },
76
- momo: {
77
- disable: false,
78
- enabledProviders: ["m17", "m18"]
79
- // disabledProviders: ["m17"],
80
- },
81
- wallet: {
82
- disable: false,
83
- enabledProviders: ["dw001"]
84
- // disabledProviders: ["dw001"],
85
- }
86
- },
87
- brandingOptions: {
88
- primaryColor
89
- },
90
- metadata: {}
91
- };
92
- try {
93
- const res = await import_axios.default.post(URL, body, {
94
- headers: {
95
- "Monime-Space-Id": monimeSpaceId,
96
- Authorization: `Bearer ${accessToken}`,
97
- "Content-Type": "application/json",
98
- "Idempotency-Key": value,
99
- "Monime-Version": "caph.2025-08-23"
100
- }
101
- });
102
- const data = res.data;
103
- return { success: true, data };
104
- } catch (error) {
105
- if (import_axios.default.isAxiosError(error)) {
106
- return { error, success: false };
107
- }
108
- return { error: new Error("unknown error"), success: false };
109
- }
110
- }
111
- async function getAllCheckout(client) {
112
- const { accessToken, monimeSpaceId } = client._getConfig();
113
- try {
114
- const res = await import_axios.default.get(URL, {
115
- headers: {
116
- "Monime-Space-Id": monimeSpaceId,
117
- Authorization: `Bearer ${accessToken}`
118
- }
119
- });
120
- const data = res.data;
121
- return { success: true, data };
122
- } catch (error) {
123
- if (import_axios.default.isAxiosError(error)) {
124
- return { error, success: false };
125
- }
126
- return { error: new Error("unknown error"), success: false };
127
- }
128
- }
129
- async function getOnecheckout(client, checkoutId) {
130
- const { accessToken, monimeSpaceId } = client._getConfig();
131
- try {
132
- const res = await import_axios.default.get(`${URL}/${checkoutId}`, {
133
- headers: {
134
- "Monime-Space-Id": monimeSpaceId,
135
- Authorization: `Bearer ${accessToken}`
136
- }
137
- });
138
- const data = res.data;
139
- return { success: true, data };
140
- } catch (error) {
141
- if (import_axios.default.isAxiosError(error)) {
142
- return { error, success: false };
143
- }
144
- return { error: new Error("unknown error"), success: false };
145
- }
146
- }
147
- async function deleteCheckout(client, checkoutId) {
148
- const { accessToken, monimeSpaceId } = client._getConfig();
149
- try {
150
- await import_axios.default.delete(`${URL}/${checkoutId}`, {
151
- headers: {
152
- "Monime-Space-Id": monimeSpaceId,
153
- Authorization: `Bearer ${accessToken}`
154
- }
155
- });
156
- return { success: true };
157
- } catch (error) {
158
- if (import_axios.default.isAxiosError(error)) {
159
- return { error, success: false };
160
- }
161
- return { error: new Error("unknown error"), success: false };
162
- }
163
- }
164
-
165
- // src/modules/checkout session/index.ts
166
- function CheckoutSessionAPI(client) {
167
- return {
168
- create: (name, amount, quantity, successUrl, cancelUrl, description, financialAccountId, primaryColor, images) => createCheckout(
169
- client,
170
- name,
171
- amount,
172
- quantity,
173
- successUrl,
174
- cancelUrl,
175
- description,
176
- financialAccountId,
177
- primaryColor,
178
- images
179
- ),
180
- get: () => getAllCheckout(client),
181
- getOne: (checkoutId) => getOnecheckout(client, checkoutId),
182
- delete: (checkoutId) => deleteCheckout(client, checkoutId)
183
- };
184
- }
185
-
186
- // src/modules/financialAccount/financialAccount.ts
187
- var import_node_crypto2 = require("crypto");
188
- var import_axios2 = __toESM(require("axios"));
189
- var URL2 = "https://api.monime.io/v1/financial-accounts";
190
- var value2 = (0, import_node_crypto2.randomBytes)(20).toString("hex");
191
- async function createFinancialAccount(accountName, currency, client) {
192
- if (accountName.trim() === "") {
193
- return { success: false, error: new Error("accountName is required") };
194
- }
195
- const body = {
196
- name: accountName,
197
- currency,
198
- description: "",
199
- metadata: {}
200
- };
201
- const { accessToken, monimeSpaceId } = client._getConfig();
202
- try {
203
- const res = await import_axios2.default.post(URL2, body, {
204
- headers: {
205
- "Idempotency-Key": `${value2}`,
206
- "Monime-Space-Id": `${monimeSpaceId}`,
207
- Authorization: `Bearer ${accessToken}`,
208
- "Content-Type": "application/json"
209
- }
210
- });
211
- const data = res.data;
212
- return { success: true, data };
213
- } catch (error) {
214
- if (import_axios2.default.isAxiosError(error)) {
215
- return { error, success: false };
216
- }
217
- return { error: new Error("unknown error"), success: false };
218
- }
219
- }
220
- async function getFinancialAccount(financialAccountId, client) {
221
- if (financialAccountId.trim() === "") {
222
- return {
223
- success: false,
224
- error: new Error("financialAccountId is required")
225
- };
226
- }
227
- const { monimeSpaceId, accessToken } = client._getConfig();
228
- try {
229
- const res = await import_axios2.default.get(`${URL2}/${financialAccountId}`, {
230
- headers: {
231
- "Monime-Space-Id": `${monimeSpaceId}`,
232
- Authorization: `Bearer ${accessToken}`
233
- }
234
- });
235
- const data = res.data;
236
- return { success: true, data };
237
- } catch (error) {
238
- if (import_axios2.default.isAxiosError(error)) {
239
- return { error, success: false };
240
- }
241
- return { error: new Error("unknown error"), success: false };
242
- }
243
- }
244
- async function getAllFinancialAccount(client) {
245
- const { monimeSpaceId, accessToken } = client._getConfig();
246
- try {
247
- const res = await import_axios2.default.get(URL2, {
248
- headers: {
249
- "Monime-Space-Id": `${monimeSpaceId}`,
250
- Authorization: `Bearer ${accessToken}`
251
- }
252
- });
253
- const data = res.data;
254
- return { success: true, data };
255
- } catch (error) {
256
- if (import_axios2.default.isAxiosError(error)) {
257
- return { error, success: false };
258
- }
259
- return { error: new Error("unknown error"), success: false };
260
- }
261
- }
262
-
263
- // src/modules/financialAccount/index.ts
264
- function FinancialAccountAPI(client) {
265
- return {
266
- create: (name, currency) => createFinancialAccount(name, currency, client),
267
- get: (financialAccountId) => getFinancialAccount(financialAccountId, client),
268
- getAll: () => getAllFinancialAccount(client)
269
- };
270
- }
271
-
272
- // src/modules/financialTransaction/financialTransaction.ts
273
- var import_axios3 = __toESM(require("axios"));
274
- var URL3 = "https://api.monime.io/v1/financial-transactions";
275
- async function getAllTransaction(client) {
276
- const { monimeSpaceId, accessToken } = client._getConfig();
277
- try {
278
- const res = await import_axios3.default.get(URL3, {
279
- headers: {
280
- Authorization: `Bearer ${accessToken}`,
281
- "Monime-Space-Id": `${monimeSpaceId}`
282
- }
283
- });
284
- const data = res.data;
285
- return { success: true, data };
286
- } catch (error) {
287
- if (import_axios3.default.isAxiosError(error)) {
288
- return { error, success: false };
289
- }
290
- return { error: new Error("unknown error"), success: false };
291
- }
292
- }
293
- async function getTransaction(client, transactionId) {
294
- const { accessToken, monimeSpaceId } = client._getConfig();
295
- if (transactionId.trim() === "") {
296
- return {
297
- error: new Error("transactionId must not be empty"),
298
- success: false
299
- };
300
- }
301
- try {
302
- const res = await import_axios3.default.get(`${URL3}/${transactionId}`, {
303
- headers: {
304
- Authorization: `Bearer ${accessToken}`,
305
- "Monime-Space-Id": `${monimeSpaceId}`
306
- }
307
- });
308
- const data = res.data;
309
- return { success: true, data };
310
- } catch (error) {
311
- if (import_axios3.default.isAxiosError(error)) {
312
- return { error, success: false };
313
- }
314
- return { error: new Error("unknown error"), success: false };
315
- }
316
- }
317
-
318
- // src/modules/financialTransaction/index.ts
319
- function FinancialTransactionAPI(client) {
320
- return {
321
- get: (transactionId) => getTransaction(client, transactionId),
322
- getAll: () => getAllTransaction(client)
323
- };
324
- }
325
-
326
- // src/modules/internalTransfer/internalTransfer.ts
327
- var import_node_crypto3 = require("crypto");
328
- var import_axios4 = __toESM(require("axios"));
329
- var URL4 = "https://api.monime.io/v1/internal-transfers";
330
- var value3 = (0, import_node_crypto3.randomBytes)(20).toString("hex");
331
- async function createInternalTransfer(sourceAccount, destinationAccount, client, amount) {
332
- if (amount <= 0) {
333
- return {
334
- success: false,
335
- error: new Error("amount must be larger that zero")
336
- };
337
- }
338
- if (sourceAccount.trim() === "" || destinationAccount.trim() === "") {
339
- return {
340
- success: false,
341
- error: new Error("sourceAccount or destinationAccount is missing")
342
- };
343
- }
344
- const body = {
345
- amount: {
346
- currency: "SLE",
347
- value: amount
348
- },
349
- sourceFinancialAccount: {
350
- id: sourceAccount
351
- },
352
- destinationFinancialAccount: {
353
- id: destinationAccount
354
- },
355
- metadata: {}
356
- };
357
- const { accessToken, monimeSpaceId } = client._getConfig();
358
- try {
359
- const res = await import_axios4.default.post(URL4, body, {
360
- headers: {
361
- "Idempotency-Key": `${value3}`,
362
- "Monime-Space-Id": `${monimeSpaceId}`,
363
- Authorization: `Bearer ${accessToken}`,
364
- "Content-Type": "application/json"
365
- }
366
- });
367
- const data = res.data;
368
- return { success: true, data };
369
- } catch (error) {
370
- if (import_axios4.default.isAxiosError(error)) {
371
- return { error, success: false };
372
- }
373
- return { error: new Error("unkknown error"), success: false };
374
- }
375
- }
376
- async function getAllInternalTransfers(client) {
377
- const { monimeSpaceId, accessToken } = client._getConfig();
378
- try {
379
- const res = await import_axios4.default.get(URL4, {
380
- headers: {
381
- "Monime-Space-Id": `${monimeSpaceId}`,
382
- Authorization: `Bearer ${accessToken}`
383
- }
384
- });
385
- const data = res.data;
386
- return { success: true, data };
387
- } catch (error) {
388
- if (import_axios4.default.isAxiosError(error)) {
389
- return { success: false, error };
390
- }
391
- return { error: new Error("unkknown error"), success: false };
392
- }
393
- }
394
- async function getInternalTransfer(client, internalTransferId) {
395
- const { accessToken, monimeSpaceId } = client._getConfig();
396
- try {
397
- const res = await import_axios4.default.get(`${URL4}/${internalTransferId}`, {
398
- headers: {
399
- "Monime-Space-Id": `${monimeSpaceId}`,
400
- Authorization: `Bearer ${accessToken}`
401
- }
402
- });
403
- const data = res.data;
404
- return { success: true, data };
405
- } catch (error) {
406
- if (import_axios4.default.isAxiosError(error)) {
407
- return { success: false, error };
408
- }
409
- return { error: new Error("unkknown error"), success: false };
410
- }
411
- }
412
- async function deleteInternalTransfer(client, internalTransferId) {
413
- const { monimeSpaceId, accessToken } = client._getConfig();
414
- try {
415
- await import_axios4.default.delete(`${URL4}/${internalTransferId}`, {
416
- headers: {
417
- "Monime-Space-Id": `${monimeSpaceId}`,
418
- Authorization: `Bearer ${accessToken}`
419
- }
420
- });
421
- return { success: true };
422
- } catch (error) {
423
- if (import_axios4.default.isAxiosError(error)) {
424
- return { success: false, error };
425
- }
426
- return { success: false, error: new Error("unknown error") };
427
- }
428
- }
429
-
430
- // src/modules/internalTransfer/index.ts
431
- function InternalTransferAPI(client) {
432
- return {
433
- create: (sourceAccount, destinationAccount, amount) => createInternalTransfer(
434
- sourceAccount,
435
- destinationAccount,
436
- client,
437
- amount
438
- ),
439
- get: (internalTransferId) => getInternalTransfer(client, internalTransferId),
440
- getAll: () => getAllInternalTransfers(client),
441
- delete: (internalTransferId) => deleteInternalTransfer(client, internalTransferId)
442
- };
443
- }
444
-
445
- // src/modules/paymentCode/paymentCode.ts
446
- var import_node_crypto4 = require("crypto");
447
- var import_axios5 = __toESM(require("axios"));
448
- var value4 = (0, import_node_crypto4.randomBytes)(20).toString("hex");
449
- var URL5 = "https://api.monime.io/v1/payment-codes";
450
- async function createPaymentCode(paymentName, amount, financialAccountId, name, phoneNumber, client) {
451
- let financialAccount = null;
452
- if (financialAccountId !== "") {
453
- financialAccount = financialAccountId;
454
- }
455
- if (paymentName.trim() === "" || name.trim() === "" || phoneNumber.trim() === "") {
456
- return {
457
- success: false,
458
- error: new Error("paymentName, name, or phoneNumber is missing")
459
- };
460
- }
461
- if (amount <= 0) {
462
- return {
463
- success: false,
464
- error: new Error("amonut number be greater than zero")
465
- };
466
- }
467
- const { accessToken, monimeSpaceId } = client._getConfig();
468
- const bodyData = {
469
- name: `${paymentName}`,
470
- mode: "recurrent",
471
- enable: true,
472
- amount: {
473
- currency: "SLE",
474
- value: amount * 100
475
- },
476
- duration: "1h30m",
477
- customer: {
478
- name: `${name}`
479
- },
480
- reference: "",
481
- authorizedPhoneNumber: phoneNumber,
482
- // authorizedProviders: ["m17", "m18"],
483
- recurrentPaymentTarget: {
484
- expectedPaymentCount: 1,
485
- expectedPaymentTotal: {
486
- currency: "SLE",
487
- value: amount * 100
488
- }
489
- },
490
- financialAccountId: financialAccount,
491
- metadata: {}
492
- };
493
- try {
494
- const res = await import_axios5.default.post(URL5, bodyData, {
495
- headers: {
496
- "Idempotency-Key": `${value4}`,
497
- "Monime-Space-Id": `${monimeSpaceId}`,
498
- Authorization: `Bearer ${accessToken}`,
499
- "Content-Type": "application/json"
500
- }
501
- });
502
- const data = res.data;
503
- return { data, success: true };
504
- } catch (error) {
505
- if (import_axios5.default.isAxiosError(error)) {
506
- return { error: error.response?.data, success: false };
507
- }
508
- return { error: new Error("unknown error"), success: false };
509
- }
510
- }
511
- async function deletePaymentCode(paymentCodeId, client) {
512
- const { accessToken, monimeSpaceId } = client._getConfig();
513
- if (paymentCodeId.trim() === "") {
514
- return { success: false, error: new Error("paymentCodeId is required") };
515
- }
516
- try {
517
- await import_axios5.default.delete(`${URL5}/${paymentCodeId}`, {
518
- headers: {
519
- "Idempotency-Key": `${value4}`,
520
- "Monime-Space-Id": `${monimeSpaceId}`,
521
- Authorization: `Bearer ${accessToken}`,
522
- "Content-Type": "application/json"
523
- }
524
- });
525
- return { success: true };
526
- } catch (error) {
527
- if (import_axios5.default.isAxiosError(error)) {
528
- return { error, success: false };
529
- }
530
- return { error: new Error("unknown error"), success: false };
531
- }
532
- }
533
- async function getAllPaymentCode(client) {
534
- const { monimeSpaceId, accessToken } = client._getConfig();
535
- try {
536
- const res = await import_axios5.default.get(URL5, {
537
- headers: {
538
- "Monime-Space-Id": `${monimeSpaceId}`,
539
- Authorization: `Bearer ${accessToken}`
540
- }
541
- });
542
- const data = res.data;
543
- return { success: true, data };
544
- } catch (error) {
545
- if (import_axios5.default.isAxiosError(error)) {
546
- return { error, success: false };
547
- }
548
- return { error: new Error("unknown error"), success: false };
549
- }
550
- }
551
- async function getPaymentCode(paymentCodeId, client) {
552
- const { monimeSpaceId, accessToken } = client._getConfig();
553
- try {
554
- const res = await import_axios5.default.get(`${URL5}/${paymentCodeId}`, {
555
- headers: {
556
- "Monime-Space-Id": `${monimeSpaceId}`,
557
- Authorization: `Bearer ${accessToken}`
558
- }
559
- });
560
- const data = res.data;
561
- return { success: true, data };
562
- } catch (error) {
563
- if (import_axios5.default.isAxiosError(error)) {
564
- return { error, success: false };
565
- }
566
- return { error: new Error("unknown error"), success: false };
567
- }
568
- }
569
-
570
- // src/modules/paymentCode/index.ts
571
- function PaymentCodeAPI(client) {
572
- return {
573
- create: (paymentName, amount, financialAccount, username, phoneNumber) => createPaymentCode(
574
- paymentName,
575
- amount,
576
- financialAccount,
577
- username,
578
- phoneNumber,
579
- client
580
- ),
581
- delete: (paymentCodeId) => deletePaymentCode(paymentCodeId, client),
582
- getAll: () => getAllPaymentCode(client),
583
- get: (paymentCodeId) => getPaymentCode(paymentCodeId, client)
584
- };
585
- }
586
-
587
- // src/modules/payout/payout.ts
588
- var import_node_crypto5 = require("crypto");
589
- var import_axios6 = __toESM(require("axios"));
590
- var URL6 = "https://api.monime.io/v1/payouts";
591
- var value5 = (0, import_node_crypto5.randomBytes)(20).toString("hex");
592
- async function createPayout(amount, sourceAccount, destination, client) {
593
- if (sourceAccount.trim() === "") {
594
- return {
595
- success: false,
596
- error: new Error("sourceAccount cannot be empty")
597
- };
598
- }
599
- if (amount <= 0) {
600
- return {
601
- error: new Error("amount must be greater than 0"),
602
- success: false
603
- };
604
- }
605
- const { accessToken, monimeSpaceId } = client._getConfig();
606
- const body = {
607
- amount: {
608
- currency: "SLE",
609
- value: amount
610
- },
611
- source: {
612
- financialAccountId: sourceAccount
613
- },
614
- destination,
615
- metadata: {}
616
- };
617
- try {
618
- const res = await import_axios6.default.post(URL6, body, {
619
- headers: {
620
- "Idempotency-Key": `${value5}`,
621
- "Monime-Space-Id": `${monimeSpaceId}`,
622
- Authorization: `Bearer ${accessToken}`,
623
- "Content-Type": "application/json"
624
- }
625
- });
626
- const data = res.data;
627
- return { success: true, data };
628
- } catch (error) {
629
- if (import_axios6.default.isAxiosError(error)) {
630
- return { success: false, error };
631
- }
632
- return { success: false, error: new Error("unknown error") };
633
- }
634
- }
635
- async function getAllPayout(client) {
636
- const { accessToken, monimeSpaceId } = client._getConfig();
637
- try {
638
- const res = await import_axios6.default.get(URL6, {
639
- headers: {
640
- "Monime-Space-Id": `${monimeSpaceId}`,
641
- Authorization: `Bearer ${accessToken}`
642
- }
643
- });
644
- const data = res.data;
645
- return { success: true, data };
646
- } catch (error) {
647
- if (import_axios6.default.isAxiosError(error)) {
648
- return { success: false, error };
649
- }
650
- return { success: false, error: new Error("unknown error") };
651
- }
652
- }
653
- async function getPayout(payoutId, client) {
654
- const { accessToken, monimeSpaceId } = client._getConfig();
655
- try {
656
- const res = await import_axios6.default.get(`${URL6}/${payoutId}`, {
657
- headers: {
658
- "Monime-Space-Id": `${monimeSpaceId}`,
659
- Authorization: `Bearer ${accessToken}`
660
- }
661
- });
662
- const data = res.data;
663
- return { success: true, data };
664
- } catch (error) {
665
- if (import_axios6.default.isAxiosError(error)) {
666
- return { success: false, error };
667
- }
668
- return { success: false, error: new Error("unknown error") };
669
- }
670
- }
671
- async function deletePayout(payoutId, client) {
672
- const { accessToken, monimeSpaceId } = client._getConfig();
673
- try {
674
- await import_axios6.default.delete(`${URL6}/${payoutId}`, {
675
- headers: {
676
- "Monime-Space-Id": `${monimeSpaceId}`,
677
- Authorization: `Bearer ${accessToken}`
678
- }
679
- });
680
- return { success: true };
681
- } catch (error) {
682
- if (import_axios6.default.isAxiosError(error)) {
683
- return { success: false, error };
684
- }
685
- return { success: false, error: new Error("unknown error") };
686
- }
687
- }
688
-
689
- // src/modules/payout/index.ts
690
- function PayoutAPI(client) {
691
- return {
692
- create: (amount, destination, sourceAccount) => createPayout(amount, sourceAccount, destination, client),
693
- get: () => getAllPayout(client),
694
- getOne: (payoutId) => getPayout(payoutId, client),
695
- delete: (payoutId) => deletePayout(payoutId, client)
696
- };
697
- }
698
-
699
- // src/client.ts
700
- var MonimeClient = class {
701
- monimeSpaceId;
702
- accessToken;
703
- financialAccount;
704
- internalTransfer;
705
- paymentCode;
706
- payout;
707
- financialTransaction;
708
- checkoutSession;
709
- constructor(options) {
710
- this.accessToken = options.accessToken;
711
- this.monimeSpaceId = options.monimeSpaceId;
712
- this.financialAccount = FinancialAccountAPI(this);
713
- this.internalTransfer = InternalTransferAPI(this);
714
- this.paymentCode = PaymentCodeAPI(this);
715
- this.payout = PayoutAPI(this);
716
- this.financialTransaction = FinancialTransactionAPI(this);
717
- this.checkoutSession = CheckoutSessionAPI(this);
718
- }
719
- /** @internal */
720
- _getConfig() {
721
- return {
722
- monimeSpaceId: this.monimeSpaceId,
723
- accessToken: this.accessToken
724
- };
725
- }
726
- };
727
-
728
- // src/index.ts
729
- function createClient(options) {
730
- return new MonimeClient(options);
731
- }
732
- // Annotate the CommonJS export names for ESM import in node:
733
- 0 && (module.exports = {
734
- MonimeClient,
735
- createClient
736
- });
737
- //# sourceMappingURL=index.js.map
1
+ "use strict";var We=Object.create;var I=Object.defineProperty;var ze=Object.getOwnPropertyDescriptor;var Ke=Object.getOwnPropertyNames;var Le=Object.getPrototypeOf,qe=Object.prototype.hasOwnProperty;var Ne=(r,e)=>{for(var n in e)I(r,n,{get:e[n],enumerable:!0})},D=(r,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of Ke(e))!qe.call(r,t)&&t!==n&&I(r,t,{get:()=>e[t],enumerable:!(o=ze(e,t))||o.enumerable});return r};var m=(r,e,n)=>(n=r!=null?We(Le(r)):{},D(e||!r||!r.__esModule?I(n,"default",{value:r,enumerable:!0}):n,r)),je=r=>D(I({},"__esModule",{value:!0}),r);var er={};Ne(er,{MonimeClient:()=>T,createClient:()=>_e});module.exports=je(er);var B=require("crypto"),p=m(require("axios")),He=(0,B.randomBytes)(20).toString("hex"),R="https://api.monime.io/v1/checkout-sessions";async function U(r,e,n,o,t,s,a,c,u,y){let{monimeSpaceId:S,accessToken:A,monimeVersion:O}=r,Ue={name:e,description:a,cancelUrl:s,successUrl:t,callbackState:null,reference:null,financialAccountId:c,lineItems:[{type:"custom",name:e,price:{currency:"SLE",value:n},quantity:o,reference:null,description:a,images:y}],paymentOptions:{card:{disable:!1},bank:{disable:!1,enabledProviders:["slb001","slb004","slb007"]},momo:{disable:!1,enabledProviders:["m17","m18"]},wallet:{disable:!1,enabledProviders:["dw001"]}},brandingOptions:{primaryColor:u},metadata:{}};try{return{success:!0,data:(await p.default.post(R,Ue,{headers:{"Monime-Space-Id":S,Authorization:`Bearer ${A}`,"Content-Type":"application/json","Idempotency-Key":He,...O?{"Monime-Version":O}:{}}})).data}}catch(G){return p.default.isAxiosError(G)?{error:G,success:!1}:{error:new Error("unknown error"),success:!1}}}async function W(r){let{accessToken:e,monimeSpaceId:n,monimeVersion:o}=r;try{return{success:!0,data:(await p.default.get(R,{headers:{"Monime-Space-Id":n,Authorization:`Bearer ${e}`,...o?{"Monime-Version":o}:{}}})).data}}catch(t){return p.default.isAxiosError(t)?{error:t,success:!1}:{error:new Error("unknown error"),success:!1}}}async function z(r,e){let{accessToken:n,monimeSpaceId:o,monimeVersion:t}=r;try{return{success:!0,data:(await p.default.get(`${R}/${e}`,{headers:{"Monime-Space-Id":o,Authorization:`Bearer ${n}`,...t?{"Monime-Version":t}:{}}})).data}}catch(s){return p.default.isAxiosError(s)?{error:s,success:!1}:{error:new Error("unknown error"),success:!1}}}async function K(r,e){let{accessToken:n,monimeSpaceId:o,monimeVersion:t}=r;try{return await p.default.delete(`${R}/${e}`,{headers:{"Monime-Space-Id":o,Authorization:`Bearer ${n}`,...t?{"Monime-Version":t}:{}}}),{success:!0}}catch(s){return p.default.isAxiosError(s)?{error:s,success:!1}:{error:new Error("unknown error"),success:!1}}}function L(r){return{create:(e,n,o,t,s,a,c,u,y)=>U(r,e,n,o,t,s,a,c,u,y),get:()=>W(r),getOne:e=>z(r,e),delete:e=>K(r,e)}}var q=require("crypto"),h=m(require("axios")),$="https://api.monime.io/v1/financial-accounts",Je=(0,q.randomBytes)(20).toString("hex");async function N(r,e,n){if(r.trim()==="")return{success:!1,error:new Error("accountName is required")};let o={name:r,currency:e,description:"",metadata:{}},{accessToken:t,monimeSpaceId:s,monimeVersion:a}=n;try{return{success:!0,data:(await h.default.post($,o,{headers:{"Idempotency-Key":`${Je}`,"Monime-Space-Id":`${s}`,Authorization:`Bearer ${t}`,"Content-Type":"application/json",...a?{"Monime-Version":a}:{}}})).data}}catch(c){return h.default.isAxiosError(c)?{error:c,success:!1}:{error:new Error("unknown error"),success:!1}}}async function j(r,e){if(r.trim()==="")return{success:!1,error:new Error("financialAccountId is required")};let{monimeSpaceId:n,accessToken:o,monimeVersion:t}=e;try{return{success:!0,data:(await h.default.get(`${$}/${r}`,{headers:{"Monime-Space-Id":`${n}`,Authorization:`Bearer ${o}`,...t?{"Monime-Version":t}:{}}})).data}}catch(s){return h.default.isAxiosError(s)?{error:s,success:!1}:{error:new Error("unknown error"),success:!1}}}async function H(r){let{monimeSpaceId:e,accessToken:n,monimeVersion:o}=r;try{return{success:!0,data:(await h.default.get($,{headers:{"Monime-Space-Id":`${e}`,Authorization:`Bearer ${n}`}})).data}}catch(t){return h.default.isAxiosError(t)?{error:t,success:!1}:{error:new Error("unknown error"),success:!1}}}function J(r){return{create:(e,n)=>N(e,n,r),get:e=>j(e,r),getAll:()=>H(r)}}var b=m(require("axios")),Q="https://api.monime.io/v1/financial-transactions";async function X(r){let{monimeSpaceId:e,accessToken:n,monimeVersion:o}=r;try{return{success:!0,data:(await b.default.get(Q,{headers:{Authorization:`Bearer ${n}`,"Monime-Space-Id":`${e}`,...o?{"Monime-Version":o}:{}}})).data}}catch(t){return b.default.isAxiosError(t)?{error:t,success:!1}:{error:new Error("unknown error"),success:!1}}}async function Y(r,e){let{accessToken:n,monimeSpaceId:o,monimeVersion:t}=r;if(e.trim()==="")return{error:new Error("transactionId must not be empty"),success:!1};try{return{success:!0,data:(await b.default.get(`${Q}/${e}`,{headers:{Authorization:`Bearer ${n}`,"Monime-Space-Id":`${o}`,...t?{"Monime-Version":t}:{}}})).data}}catch(s){return b.default.isAxiosError(s)?{error:s,success:!1}:{error:new Error("unknown error"),success:!1}}}function Z(r){return{get:e=>Y(r,e),getAll:()=>X(r)}}var _=require("crypto"),d=m(require("axios")),k="https://api.monime.io/v1/internal-transfers",Qe=(0,_.randomBytes)(20).toString("hex");async function ee(r,e,n,o){if(o<=0)return{success:!1,error:new Error("amount must be larger that zero")};if(r.trim()===""||e.trim()==="")return{success:!1,error:new Error("sourceAccount or destinationAccount is missing")};let t={amount:{currency:"SLE",value:o},sourceFinancialAccount:{id:r},destinationFinancialAccount:{id:e},metadata:{}},{accessToken:s,monimeSpaceId:a,monimeVersion:c}=n;try{return{success:!0,data:(await d.default.post(k,t,{headers:{"Idempotency-Key":`${Qe}`,"Monime-Space-Id":`${a}`,Authorization:`Bearer ${s}`,"Content-Type":"application/json",...c?{"Monime-Version":c}:{}}})).data}}catch(u){return d.default.isAxiosError(u)?{error:u,success:!1}:{error:new Error("unkknown error"),success:!1}}}async function re(r){let{monimeSpaceId:e,accessToken:n,monimeVersion:o}=r;try{return{success:!0,data:(await d.default.get(k,{headers:{"Monime-Space-Id":`${e}`,Authorization:`Bearer ${n}`,...o?{"Monime-Version":o}:{}}})).data}}catch(t){return d.default.isAxiosError(t)?{success:!1,error:t}:{error:new Error("unkknown error"),success:!1}}}async function te(r,e){let{accessToken:n,monimeSpaceId:o,monimeVersion:t}=r;try{return{success:!0,data:(await d.default.get(`${k}/${e}`,{headers:{"Monime-Space-Id":`${o}`,Authorization:`Bearer ${n}`,...t?{"Monime-Version":t}:{}}})).data}}catch(s){return d.default.isAxiosError(s)?{success:!1,error:s}:{error:new Error("unkknown error"),success:!1}}}async function ne(r,e){let{monimeSpaceId:n,accessToken:o,monimeVersion:t}=r;try{return await d.default.delete(`${k}/${e}`,{headers:{"Monime-Space-Id":`${n}`,Authorization:`Bearer ${o}`,...t?{"Monime-Version":t}:{}}}),{success:!0}}catch(s){return d.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("unknown error")}}}function se(r){return{create:(e,n,o)=>ee(e,n,r,o),get:e=>te(r,e),getAll:()=>re(r),delete:e=>ne(r,e)}}var oe=require("crypto"),C=m(require("axios")),v="https://api.monime.io/v1/payments";async function ae(r,e){if(!r)return{success:!1,error:new Error("paymentId is required")};let{monimeSpaceId:n,accessToken:o,monimeVersion:t}=e;try{return{success:!0,data:(await C.default.get(`${v}/${r}`,{headers:{"Monime-Space-Id":n,Authorization:`Bearer ${o}`,...t?{"Monime-Version":t}:{}}})).data}}catch(s){return C.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}async function ie(r,e){let{monimeSpaceId:n,accessToken:o,monimeVersion:t}=r;try{return{success:!0,data:(await C.default.get(v,{headers:{"Monime-Space-Id":n,Authorization:`Bearer ${o}`,...t?{"Monime-Version":t}:{}},params:e})).data}}catch(s){return C.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}async function ce(r,e,n){if(!r)return{success:!1,error:new Error("paymentId is required")};let{monimeSpaceId:o,accessToken:t,monimeVersion:s}=n,a=(0,oe.randomBytes)(20).toString("hex");try{return{success:!0,data:(await C.default.patch(`${v}/${r}`,e,{headers:{"Idempotency-Key":a,"Monime-Space-Id":o,Authorization:`Bearer ${t}`,"Content-Type":"application/json",...s?{"Monime-Version":s}:{}}})).data}}catch(c){return C.default.isAxiosError(c)?{success:!1,error:c}:{success:!1,error:new Error("Unknown error")}}}function ue(r){return{get:e=>ae(e,r),getAll:e=>ie(r,e),patch:(e,n)=>ce(e,n,r)}}var me=require("crypto"),f=m(require("axios")),le=(0,me.randomBytes)(20).toString("hex"),x="https://api.monime.io/v1/payment-codes";async function pe(r,e,n,o,t,s){let a=null;if(n!==""&&(a=n),r.trim()===""||o.trim()===""||t.trim()==="")return{success:!1,error:new Error("paymentName, name, or phoneNumber is missing")};if(e<=0)return{success:!1,error:new Error("amonut number be greater than zero")};let{accessToken:c,monimeSpaceId:u,monimeVersion:y}=s,S={name:`${r}`,mode:"recurrent",enable:!0,amount:{currency:"SLE",value:e*100},duration:"1h30m",customer:{name:`${o}`},reference:"",authorizedPhoneNumber:t,recurrentPaymentTarget:{expectedPaymentCount:1,expectedPaymentTotal:{currency:"SLE",value:e*100}},financialAccountId:a,metadata:{}};try{return{data:(await f.default.post(x,S,{headers:{"Idempotency-Key":`${le}`,"Monime-Space-Id":`${u}`,Authorization:`Bearer ${c}`,"Content-Type":"application/json",...y?{"Monime-Version":y}:{}}})).data,success:!0}}catch(A){return f.default.isAxiosError(A)?{error:A.response?.data,success:!1}:{error:new Error("unknown error"),success:!1}}}async function de(r,e){let{accessToken:n,monimeSpaceId:o,monimeVersion:t}=e;if(r.trim()==="")return{success:!1,error:new Error("paymentCodeId is required")};try{return await f.default.delete(`${x}/${r}`,{headers:{"Idempotency-Key":`${le}`,"Monime-Space-Id":`${o}`,Authorization:`Bearer ${n}`,"Content-Type":"application/json",...t?{"Monime-Version":t}:{}}}),{success:!0}}catch(s){return f.default.isAxiosError(s)?{error:s,success:!1}:{error:new Error("unknown error"),success:!1}}}async function fe(r){let{monimeSpaceId:e,accessToken:n,monimeVersion:o}=r;try{return{success:!0,data:(await f.default.get(x,{headers:{"Monime-Space-Id":`${e}`,Authorization:`Bearer ${n}`,...o?{"Monime-Version":o}:{}}})).data}}catch(t){return f.default.isAxiosError(t)?{error:t,success:!1}:{error:new Error("unknown error"),success:!1}}}async function ge(r,e){let{monimeSpaceId:n,accessToken:o,monimeVersion:t}=e;try{return{success:!0,data:(await f.default.get(`${x}/${r}`,{headers:{"Monime-Space-Id":`${n}`,Authorization:`Bearer ${o}`,...t?{"Monime-Version":t}:{}}})).data}}catch(s){return f.default.isAxiosError(s)?{error:s,success:!1}:{error:new Error("unknown error"),success:!1}}}function ye(r){return{create:(e,n,o,t,s)=>pe(e,n,o,t,s,r),delete:e=>de(e,r),getAll:()=>fe(r),get:e=>ge(e,r)}}var he=require("crypto"),g=m(require("axios")),E="https://api.monime.io/v1/payouts",Xe=(0,he.randomBytes)(20).toString("hex");async function Ce(r,e,n,o){if(e.trim()==="")return{success:!1,error:new Error("sourceAccount cannot be empty")};if(r<=0)return{error:new Error("amount must be greater than 0"),success:!1};let{accessToken:t,monimeSpaceId:s,monimeVersion:a}=o,c={amount:{currency:"SLE",value:r},source:{financialAccountId:e},destination:n,metadata:{}};try{return{success:!0,data:(await g.default.post(E,c,{headers:{"Idempotency-Key":`${Xe}`,"Monime-Space-Id":`${s}`,Authorization:`Bearer ${t}`,"Content-Type":"application/json",...a?{"Monime-Version":a}:{}}})).data}}catch(u){return g.default.isAxiosError(u)?{success:!1,error:u}:{success:!1,error:new Error("unknown error")}}}async function Ae(r){let{accessToken:e,monimeSpaceId:n,monimeVersion:o}=r;try{return{success:!0,data:(await g.default.get(E,{headers:{"Monime-Space-Id":`${n}`,Authorization:`Bearer ${e}`,...o?{"Monime-Version":o}:{}}})).data}}catch(t){return g.default.isAxiosError(t)?{success:!1,error:t}:{success:!1,error:new Error("unknown error")}}}async function be(r,e){let{accessToken:n,monimeSpaceId:o,monimeVersion:t}=e;try{return{success:!0,data:(await g.default.get(`${E}/${r}`,{headers:{"Monime-Space-Id":`${o}`,Authorization:`Bearer ${n}`,...t?{"Monime-Version":t}:{}}})).data}}catch(s){return g.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("unknown error")}}}async function Pe(r,e){let{accessToken:n,monimeSpaceId:o,monimeVersion:t}=e;try{return await g.default.delete(`${E}/${r}`,{headers:{"Monime-Space-Id":`${o}`,Authorization:`Bearer ${n}`,...t?{"Monime-Version":t}:{}}}),{success:!0}}catch(s){return g.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("unknown error")}}}function we(r){return{create:(e,n,o)=>Ce(e,o,n,r),get:()=>Ae(r),getOne:e=>be(e,r),delete:e=>Pe(e,r)}}var V=m(require("axios")),Ye="https://api.monime.io/v1/provider-kyc";async function Te(r,e){let{monimeSpaceId:n,accessToken:o,monimeVersion:t}=e;try{return{success:!0,data:(await V.default.get(`${Ye}/${r}`,{headers:{"Monime-Space-Id":n,Authorization:`Bearer ${o}`,...t?{"Monime-Version":t}:{}}})).data}}catch(s){return V.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}function Ie(r){return{get:e=>Te(e,r)}}var Re=require("crypto"),P=m(require("axios")),ke="https://api.monime.io/v1/receipts";async function xe(r,e){let{monimeSpaceId:n,accessToken:o,monimeVersion:t}=e;try{return{success:!0,data:(await P.default.get(`${ke}/${r}`,{headers:{"Monime-Space-Id":n,Authorization:`Bearer ${o}`,...t?{"Monime-Version":t}:{}}})).data}}catch(s){return P.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}async function Ee(r,e,n){let{monimeSpaceId:o,accessToken:t,monimeVersion:s}=n,a=(0,Re.randomBytes)(20).toString("hex");try{return{success:!0,data:(await P.default.post(`${ke}/${r}/redeem`,e,{headers:{"Idempotency-Key":a,"Monime-Space-Id":o,Authorization:`Bearer ${t}`,"Content-Type":"application/json",...s?{"Monime-Version":s}:{}}})).data}}catch(c){return P.default.isAxiosError(c)?{success:!1,error:c}:{success:!1,error:new Error("Unknown error")}}}function Se(r){return{get:e=>xe(e,r),redeem:(e,n={})=>Ee(e,n,r)}}var Oe=require("crypto"),M=m(require("axios")),Ze="https://api.monime.io/v1/ussd-otps";async function Ge(r,e){let{monimeSpaceId:n,accessToken:o,monimeVersion:t}=e,s=(0,Oe.randomBytes)(20).toString("hex");try{return{success:!0,data:(await M.default.post(Ze,r,{headers:{"Idempotency-Key":s,"Monime-Space-Id":n,Authorization:`Bearer ${o}`,"Content-Type":"application/json",...t?{"Monime-Version":t}:{}}})).data}}catch(a){return M.default.isAxiosError(a)?{success:!1,error:a}:{success:!1,error:new Error("Unknown error")}}}function $e(r){return{create:e=>Ge(e,r)}}var F=require("crypto"),l=m(require("axios")),w="https://api.monime.io/v1/webhooks";async function ve(r,e){let{monimeSpaceId:n,accessToken:o,monimeVersion:t}=e,s=(0,F.randomBytes)(20).toString("hex");try{return{success:!0,data:(await l.default.post(w,r,{headers:{"Idempotency-Key":s,"Monime-Space-Id":n,Authorization:`Bearer ${o}`,"Content-Type":"application/json",...t?{"Monime-Version":t}:{}}})).data}}catch(a){return l.default.isAxiosError(a)?{success:!1,error:a}:{success:!1,error:new Error("Unknown error")}}}async function Ve(r,e){let{monimeSpaceId:n,accessToken:o,monimeVersion:t}=e;try{return{success:!0,data:(await l.default.get(`${w}/${r}`,{headers:{"Monime-Space-Id":n,Authorization:`Bearer ${o}`,...t?{"Monime-Version":t}:{}}})).data}}catch(s){return l.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}async function Me(r){let{monimeSpaceId:e,accessToken:n,monimeVersion:o}=r;try{return{success:!0,data:(await l.default.get(w,{headers:{"Monime-Space-Id":e,Authorization:`Bearer ${n}`,...o?{"Monime-Version":o}:{}}})).data}}catch(t){return l.default.isAxiosError(t)?{success:!1,error:t}:{success:!1,error:new Error("Unknown error")}}}async function Fe(r,e,n){let{monimeSpaceId:o,accessToken:t,monimeVersion:s}=n,a=(0,F.randomBytes)(20).toString("hex");try{return{success:!0,data:(await l.default.patch(`${w}/${r}`,e,{headers:{"Idempotency-Key":a,"Monime-Space-Id":o,Authorization:`Bearer ${t}`,"Content-Type":"application/json",...s?{"Monime-Version":s}:{}}})).data}}catch(c){return l.default.isAxiosError(c)?{success:!1,error:c}:{success:!1,error:new Error("Unknown error")}}}async function De(r,e){let{monimeSpaceId:n,accessToken:o,monimeVersion:t}=e;try{return await l.default.delete(`${w}/${r}`,{headers:{"Monime-Space-Id":n,Authorization:`Bearer ${o}`,...t?{"Monime-Version":t}:{}}}),{success:!0}}catch(s){return l.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}function Be(r){return{create:e=>ve(e,r),get:e=>Ve(e,r),getAll:()=>Me(r),update:(e,n)=>Fe(e,n,r),delete:e=>De(e,r)}}var T=class{monimeSpaceId;accessToken;monimeVersion;financialAccount;internalTransfer;paymentCode;payment;payout;providerKyc;receipt;ussdOtp;webhook;financialTransaction;checkoutSession;constructor(e){this.accessToken=e.accessToken,this.monimeSpaceId=e.monimeSpaceId,this.monimeVersion=e.monimeVersion;let n={monimeSpaceId:this.monimeSpaceId,accessToken:this.accessToken,monimeVersion:this.monimeVersion};this.financialAccount=J(n),this.internalTransfer=se(n),this.paymentCode=ye(n),this.payment=ue(n),this.payout=we(n),this.providerKyc=Ie(n),this.receipt=Se(n),this.ussdOtp=$e(n),this.webhook=Be(n),this.financialTransaction=Z(n),this.checkoutSession=L(n)}};function _e(r){return new T(r)}0&&(module.exports={MonimeClient,createClient});