monime-package 1.1.3 → 1.1.4
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/README.md +227 -235
- package/dist/index.d.mts +207 -166
- package/dist/index.d.ts +207 -166
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +6 -7
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
declare class MonimeError extends Error {
|
|
2
|
+
readonly status?: number;
|
|
3
|
+
readonly requestId?: string;
|
|
4
|
+
readonly details?: unknown;
|
|
5
|
+
constructor(message: string, status?: number, requestId?: string, details?: unknown);
|
|
6
|
+
}
|
|
7
|
+
declare class MonimeAuthenticationError extends MonimeError {
|
|
8
|
+
constructor(message?: string);
|
|
9
|
+
}
|
|
10
|
+
declare class MonimeValidationError extends MonimeError {
|
|
11
|
+
constructor(message: string, details?: unknown);
|
|
12
|
+
}
|
|
13
|
+
|
|
1
14
|
interface ClientConfig {
|
|
2
15
|
monimeSpaceId: string;
|
|
3
16
|
accessToken: string;
|
|
@@ -10,10 +23,10 @@ interface Pagination {
|
|
|
10
23
|
interface Result<T> {
|
|
11
24
|
data?: T;
|
|
12
25
|
success: boolean;
|
|
13
|
-
error?: Error;
|
|
26
|
+
error?: Error | MonimeError;
|
|
14
27
|
}
|
|
15
28
|
|
|
16
|
-
interface
|
|
29
|
+
interface ListCheckoutsResponse {
|
|
17
30
|
result: CheckoutSession[];
|
|
18
31
|
Pagination: Pagination;
|
|
19
32
|
}
|
|
@@ -34,7 +47,7 @@ interface CheckoutSession {
|
|
|
34
47
|
createTime: string;
|
|
35
48
|
ownershipGraph: OwnershipGraph$4;
|
|
36
49
|
}
|
|
37
|
-
interface
|
|
50
|
+
interface RetrieveCheckoutResponse {
|
|
38
51
|
id: string;
|
|
39
52
|
status: string;
|
|
40
53
|
name: string;
|
|
@@ -51,7 +64,7 @@ interface OneCheckout {
|
|
|
51
64
|
createTime: string;
|
|
52
65
|
ownershipGraph: OwnershipGraph$4;
|
|
53
66
|
}
|
|
54
|
-
interface
|
|
67
|
+
interface CreateCheckoutResponse {
|
|
55
68
|
id: string;
|
|
56
69
|
status: string;
|
|
57
70
|
name: string;
|
|
@@ -165,14 +178,7 @@ interface Price {
|
|
|
165
178
|
value: number;
|
|
166
179
|
}
|
|
167
180
|
|
|
168
|
-
|
|
169
|
-
create: (name: string, amount: number, quantity: number, successUrl: string, cancelUrl: string, description?: string, financialAccountId?: string, primaryColor?: string, images?: string[]) => Promise<Result<CreateCheckout>>;
|
|
170
|
-
get: () => Promise<Result<AllCheckout>>;
|
|
171
|
-
getOne: (checkoutId: string) => Promise<Result<OneCheckout>>;
|
|
172
|
-
delete: (checkoutId: string) => Promise<Result<OneCheckout>>;
|
|
173
|
-
};
|
|
174
|
-
|
|
175
|
-
interface CreateFinancialAccount {
|
|
181
|
+
interface CreateFinancialAccountResponse {
|
|
176
182
|
id: string;
|
|
177
183
|
uvan: string;
|
|
178
184
|
name: string;
|
|
@@ -183,7 +189,7 @@ interface CreateFinancialAccount {
|
|
|
183
189
|
createTime: string;
|
|
184
190
|
updateTime: string;
|
|
185
191
|
}
|
|
186
|
-
interface
|
|
192
|
+
interface RetrieveFinancialAccountResponse {
|
|
187
193
|
id: string;
|
|
188
194
|
uvan: string;
|
|
189
195
|
name: string;
|
|
@@ -194,7 +200,7 @@ interface GetFinancialAccount {
|
|
|
194
200
|
createTime: string;
|
|
195
201
|
updateTime: string;
|
|
196
202
|
}
|
|
197
|
-
interface
|
|
203
|
+
interface ListFinancialAccountsResponse {
|
|
198
204
|
result: FinancialAccount$1[];
|
|
199
205
|
pagination: Pagination;
|
|
200
206
|
}
|
|
@@ -231,67 +237,7 @@ interface Available {
|
|
|
231
237
|
value: number;
|
|
232
238
|
}
|
|
233
239
|
|
|
234
|
-
interface
|
|
235
|
-
canPayTo?: boolean;
|
|
236
|
-
canPayFrom?: boolean;
|
|
237
|
-
canVerifyAccount?: boolean;
|
|
238
|
-
schemes?: string[];
|
|
239
|
-
metadata: Record<string, unknown>;
|
|
240
|
-
}
|
|
241
|
-
interface BankFeatureSet {
|
|
242
|
-
payout: BankFeature;
|
|
243
|
-
payment: BankFeature;
|
|
244
|
-
kycVerification: BankFeature;
|
|
245
|
-
}
|
|
246
|
-
interface Bank {
|
|
247
|
-
providerId: string;
|
|
248
|
-
name: string;
|
|
249
|
-
country: string;
|
|
250
|
-
status: {
|
|
251
|
-
active: boolean;
|
|
252
|
-
};
|
|
253
|
-
featureSet: BankFeatureSet;
|
|
254
|
-
createTime: string;
|
|
255
|
-
updateTime: string;
|
|
256
|
-
}
|
|
257
|
-
interface ListBanksResponse {
|
|
258
|
-
result: Bank[];
|
|
259
|
-
pagination: Pagination;
|
|
260
|
-
}
|
|
261
|
-
interface GetBankResponse extends Bank {
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
interface MomoFeature {
|
|
265
|
-
canPayTo?: boolean;
|
|
266
|
-
canPayFrom?: boolean;
|
|
267
|
-
canVerifyAccount?: boolean;
|
|
268
|
-
schemes?: string[];
|
|
269
|
-
metadata: Record<string, unknown>;
|
|
270
|
-
}
|
|
271
|
-
interface MomoFeatureSet {
|
|
272
|
-
payout: MomoFeature;
|
|
273
|
-
payment: MomoFeature;
|
|
274
|
-
kycVerification: MomoFeature;
|
|
275
|
-
}
|
|
276
|
-
interface Momo {
|
|
277
|
-
providerId: string;
|
|
278
|
-
name: string;
|
|
279
|
-
country: string;
|
|
280
|
-
status: {
|
|
281
|
-
active: boolean;
|
|
282
|
-
};
|
|
283
|
-
featureSet: MomoFeatureSet;
|
|
284
|
-
createTime: string;
|
|
285
|
-
updateTime: string;
|
|
286
|
-
}
|
|
287
|
-
interface ListMomosResponse {
|
|
288
|
-
result: Momo[];
|
|
289
|
-
pagination: Pagination;
|
|
290
|
-
}
|
|
291
|
-
interface GetMomoResponse extends Momo {
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
interface GetTransaction {
|
|
240
|
+
interface RetrieveTransactionResponse {
|
|
295
241
|
id: string;
|
|
296
242
|
type: string;
|
|
297
243
|
amount: Amount$3;
|
|
@@ -302,7 +248,7 @@ interface GetTransaction {
|
|
|
302
248
|
originatingFee: OriginatingFee;
|
|
303
249
|
ownershipGraph: OwnershipGraph$3;
|
|
304
250
|
}
|
|
305
|
-
interface
|
|
251
|
+
interface ListTransactionsResponse {
|
|
306
252
|
result: Transaction[];
|
|
307
253
|
pagination: Pagination;
|
|
308
254
|
}
|
|
@@ -378,7 +324,7 @@ interface Amount$3 {
|
|
|
378
324
|
value: number;
|
|
379
325
|
}
|
|
380
326
|
|
|
381
|
-
interface
|
|
327
|
+
interface CreateInternalTransferResponse {
|
|
382
328
|
id: string;
|
|
383
329
|
status: string;
|
|
384
330
|
amount: Amount$2;
|
|
@@ -391,7 +337,7 @@ interface CreateInternalTransfer {
|
|
|
391
337
|
createTime: string;
|
|
392
338
|
updateTime: string;
|
|
393
339
|
}
|
|
394
|
-
interface
|
|
340
|
+
interface ListInternalTransfersResponse {
|
|
395
341
|
result: Transfer[];
|
|
396
342
|
pagination: Pagination;
|
|
397
343
|
}
|
|
@@ -408,7 +354,7 @@ interface Transfer {
|
|
|
408
354
|
createTime: string;
|
|
409
355
|
updateTime: string;
|
|
410
356
|
}
|
|
411
|
-
interface
|
|
357
|
+
interface RetrieveInternalTransferResponse {
|
|
412
358
|
id: string;
|
|
413
359
|
status: string;
|
|
414
360
|
amount: Amount$2;
|
|
@@ -524,16 +470,16 @@ interface Payment {
|
|
|
524
470
|
};
|
|
525
471
|
metadata: Record<string, unknown> | null;
|
|
526
472
|
}
|
|
527
|
-
interface
|
|
473
|
+
interface RetrievePaymentResponse extends Payment {
|
|
528
474
|
}
|
|
529
|
-
interface
|
|
475
|
+
interface ListPaymentsResponse {
|
|
530
476
|
result: Payment[];
|
|
531
477
|
pagination: Pagination;
|
|
532
478
|
}
|
|
533
|
-
interface
|
|
479
|
+
interface UpdatePaymentResponse extends Payment {
|
|
534
480
|
}
|
|
535
481
|
|
|
536
|
-
interface
|
|
482
|
+
interface CreatePaymentCodeResponse {
|
|
537
483
|
id: string;
|
|
538
484
|
mode: string;
|
|
539
485
|
status: string;
|
|
@@ -564,7 +510,7 @@ interface CreatePaymentCode {
|
|
|
564
510
|
updateTime: string;
|
|
565
511
|
ownershipGraph: OwnershipGraph$1;
|
|
566
512
|
}
|
|
567
|
-
interface
|
|
513
|
+
interface ListPaymentCodesResponse {
|
|
568
514
|
result: PaymentCode[];
|
|
569
515
|
pagination: Pagination;
|
|
570
516
|
}
|
|
@@ -588,7 +534,7 @@ interface PaymentCode {
|
|
|
588
534
|
updateTime: string;
|
|
589
535
|
ownershipGraph: OwnershipGraph$1;
|
|
590
536
|
}
|
|
591
|
-
interface
|
|
537
|
+
interface RetrievePaymentCodeResponse {
|
|
592
538
|
id: string;
|
|
593
539
|
mode: string;
|
|
594
540
|
status: string;
|
|
@@ -719,7 +665,7 @@ type DestinationOption = {
|
|
|
719
665
|
providerId: "w01" | "w02";
|
|
720
666
|
walletId: string;
|
|
721
667
|
};
|
|
722
|
-
interface
|
|
668
|
+
interface CreatePayoutResponse {
|
|
723
669
|
id: string;
|
|
724
670
|
status: string;
|
|
725
671
|
amount: Amount;
|
|
@@ -731,7 +677,7 @@ interface CreatePayout {
|
|
|
731
677
|
updateTime: string;
|
|
732
678
|
ownershipGraph: OwnershipGraph;
|
|
733
679
|
}
|
|
734
|
-
interface
|
|
680
|
+
interface ListPayoutsResponse {
|
|
735
681
|
result: Payout[];
|
|
736
682
|
pagination: Pagination;
|
|
737
683
|
}
|
|
@@ -747,7 +693,7 @@ interface Payout {
|
|
|
747
693
|
updateTime: string;
|
|
748
694
|
ownershipGraph: OwnershipGraph;
|
|
749
695
|
}
|
|
750
|
-
interface
|
|
696
|
+
interface RetrievePayoutResponse {
|
|
751
697
|
id: string;
|
|
752
698
|
status: string;
|
|
753
699
|
amount: Amount;
|
|
@@ -942,104 +888,199 @@ interface UpdateWebhookRequest {
|
|
|
942
888
|
interface UpdateWebhookResponse extends Webhook {
|
|
943
889
|
}
|
|
944
890
|
|
|
945
|
-
|
|
891
|
+
interface BankFeature {
|
|
892
|
+
canPayTo?: boolean;
|
|
893
|
+
canPayFrom?: boolean;
|
|
894
|
+
canVerifyAccount?: boolean;
|
|
895
|
+
schemes?: string[];
|
|
896
|
+
metadata: Record<string, unknown>;
|
|
897
|
+
}
|
|
898
|
+
interface BankFeatureSet {
|
|
899
|
+
payout: BankFeature;
|
|
900
|
+
payment: BankFeature;
|
|
901
|
+
kycVerification: BankFeature;
|
|
902
|
+
}
|
|
903
|
+
interface Bank {
|
|
904
|
+
providerId: string;
|
|
905
|
+
name: string;
|
|
906
|
+
country: string;
|
|
907
|
+
status: {
|
|
908
|
+
active: boolean;
|
|
909
|
+
};
|
|
910
|
+
featureSet: BankFeatureSet;
|
|
911
|
+
createTime: string;
|
|
912
|
+
updateTime: string;
|
|
913
|
+
}
|
|
914
|
+
interface ListBanksResponse {
|
|
915
|
+
result: Bank[];
|
|
916
|
+
pagination: Pagination;
|
|
917
|
+
}
|
|
918
|
+
interface RetrieveBankResponse extends Bank {
|
|
919
|
+
}
|
|
946
920
|
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
921
|
+
interface MomoFeature {
|
|
922
|
+
canPayTo?: boolean;
|
|
923
|
+
canPayFrom?: boolean;
|
|
924
|
+
canVerifyAccount?: boolean;
|
|
925
|
+
schemes?: string[];
|
|
926
|
+
metadata: Record<string, unknown>;
|
|
927
|
+
}
|
|
928
|
+
interface MomoFeatureSet {
|
|
929
|
+
payout: MomoFeature;
|
|
930
|
+
payment: MomoFeature;
|
|
931
|
+
kycVerification: MomoFeature;
|
|
932
|
+
}
|
|
933
|
+
interface Momo {
|
|
934
|
+
providerId: string;
|
|
935
|
+
name: string;
|
|
936
|
+
country: string;
|
|
937
|
+
status: {
|
|
938
|
+
active: boolean;
|
|
939
|
+
};
|
|
940
|
+
featureSet: MomoFeatureSet;
|
|
941
|
+
createTime: string;
|
|
942
|
+
updateTime: string;
|
|
943
|
+
}
|
|
944
|
+
interface ListMomosResponse {
|
|
945
|
+
result: Momo[];
|
|
946
|
+
pagination: Pagination;
|
|
947
|
+
}
|
|
948
|
+
interface RetrieveMomoResponse extends Momo {
|
|
949
|
+
}
|
|
952
950
|
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
951
|
+
interface RequestOptions {
|
|
952
|
+
path: string;
|
|
953
|
+
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
954
|
+
body?: unknown;
|
|
955
|
+
idempotencyKey?: string;
|
|
956
|
+
}
|
|
957
|
+
declare class HttpClient {
|
|
958
|
+
private readonly baseUrl;
|
|
959
|
+
protected readonly config: ClientConfig;
|
|
960
|
+
constructor(config: ClientConfig);
|
|
961
|
+
private getHeaders;
|
|
962
|
+
protected request<T>(options: RequestOptions): Promise<Result<T>>;
|
|
963
|
+
}
|
|
957
964
|
|
|
958
|
-
declare
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
965
|
+
declare class CheckoutSessionAPI extends HttpClient {
|
|
966
|
+
private readonly path;
|
|
967
|
+
create(name: string, amount: number, quantity: number, successUrl: string, cancelUrl: string, options?: {
|
|
968
|
+
description?: string;
|
|
969
|
+
financialAccountId?: string;
|
|
970
|
+
primaryColor?: string;
|
|
971
|
+
images?: string[];
|
|
972
|
+
}): Promise<Result<CreateCheckoutResponse>>;
|
|
973
|
+
list(): Promise<Result<ListCheckoutsResponse>>;
|
|
974
|
+
retrieve(checkoutId: string): Promise<Result<RetrieveCheckoutResponse>>;
|
|
975
|
+
delete(checkoutId: string): Promise<Result<void>>;
|
|
976
|
+
}
|
|
962
977
|
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
978
|
+
type Currency = "USD" | "SLE";
|
|
979
|
+
declare class FinancialAccountAPI extends HttpClient {
|
|
980
|
+
private readonly path;
|
|
981
|
+
create(accountName: string, currency: Currency): Promise<Result<CreateFinancialAccountResponse>>;
|
|
982
|
+
retrieve(financialAccountId: string): Promise<Result<RetrieveFinancialAccountResponse>>;
|
|
983
|
+
list(): Promise<Result<ListFinancialAccountsResponse>>;
|
|
984
|
+
}
|
|
967
985
|
|
|
968
|
-
declare
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
};
|
|
986
|
+
declare class BankAPI extends HttpClient {
|
|
987
|
+
private readonly path;
|
|
988
|
+
retrieve(providerId: string): Promise<Result<RetrieveBankResponse>>;
|
|
989
|
+
list(): Promise<Result<ListBanksResponse>>;
|
|
990
|
+
}
|
|
974
991
|
|
|
975
|
-
declare
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
}
|
|
992
|
+
declare class MomoAPI extends HttpClient {
|
|
993
|
+
private readonly path;
|
|
994
|
+
retrieve(providerId: string): Promise<Result<RetrieveMomoResponse>>;
|
|
995
|
+
list(): Promise<Result<ListMomosResponse>>;
|
|
996
|
+
}
|
|
980
997
|
|
|
981
|
-
declare
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
};
|
|
998
|
+
declare class FinancialTransactionAPI extends HttpClient {
|
|
999
|
+
private readonly path;
|
|
1000
|
+
list(): Promise<Result<ListTransactionsResponse>>;
|
|
1001
|
+
retrieve(transactionId: string): Promise<Result<RetrieveTransactionResponse>>;
|
|
1002
|
+
}
|
|
987
1003
|
|
|
988
|
-
declare
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
1004
|
+
declare class InternalTransferAPI extends HttpClient {
|
|
1005
|
+
private readonly path;
|
|
1006
|
+
create(sourceAccount: string, destinationAccount: string, amount: number): Promise<Result<CreateInternalTransferResponse>>;
|
|
1007
|
+
list(): Promise<Result<ListInternalTransfersResponse>>;
|
|
1008
|
+
retrieve(internalTransferId: string): Promise<Result<RetrieveInternalTransferResponse>>;
|
|
1009
|
+
delete(internalTransferId: string): Promise<Result<void>>;
|
|
1010
|
+
}
|
|
994
1011
|
|
|
995
|
-
declare
|
|
996
|
-
|
|
997
|
-
|
|
1012
|
+
declare class PaymentAPI extends HttpClient {
|
|
1013
|
+
private readonly path;
|
|
1014
|
+
retrieve(paymentId: string): Promise<Result<RetrievePaymentResponse>>;
|
|
1015
|
+
list(): Promise<Result<ListPaymentsResponse>>;
|
|
1016
|
+
update(paymentId: string, body: Record<string, unknown>): Promise<Result<UpdatePaymentResponse>>;
|
|
1017
|
+
}
|
|
998
1018
|
|
|
999
|
-
declare
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1019
|
+
declare class PaymentCodeAPI extends HttpClient {
|
|
1020
|
+
private readonly path;
|
|
1021
|
+
create(paymentName: string, amount: number, financialAccountId: string | null, name: string, phoneNumber: string): Promise<Result<CreatePaymentCodeResponse>>;
|
|
1022
|
+
retrieve(paymentCodeId: string): Promise<Result<RetrievePaymentCodeResponse>>;
|
|
1023
|
+
list(): Promise<Result<ListPaymentCodesResponse>>;
|
|
1024
|
+
delete(paymentCodeId: string): Promise<Result<void>>;
|
|
1025
|
+
}
|
|
1003
1026
|
|
|
1004
|
-
declare
|
|
1005
|
-
|
|
1006
|
-
|
|
1027
|
+
declare class PayoutAPI extends HttpClient {
|
|
1028
|
+
private readonly path;
|
|
1029
|
+
create(amount: number, sourceAccount: string, destination: DestinationOption): Promise<Result<CreatePayoutResponse>>;
|
|
1030
|
+
list(): Promise<Result<ListPayoutsResponse>>;
|
|
1031
|
+
retrieve(payoutId: string): Promise<Result<RetrievePayoutResponse>>;
|
|
1032
|
+
delete(payoutId: string): Promise<Result<void>>;
|
|
1033
|
+
}
|
|
1007
1034
|
|
|
1008
|
-
declare
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1035
|
+
declare class ProviderKycAPI extends HttpClient {
|
|
1036
|
+
private readonly path;
|
|
1037
|
+
retrieve(providerId: string): Promise<Result<GetProviderKycResponse>>;
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
declare class ReceiptAPI extends HttpClient {
|
|
1041
|
+
private readonly path;
|
|
1042
|
+
retrieve(orderNumber: string): Promise<Result<GetReceiptResponse>>;
|
|
1043
|
+
redeem(orderNumber: string, body: Record<string, unknown>): Promise<Result<RedeemReceiptResponse>>;
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
declare class UssdOtpAPI extends HttpClient {
|
|
1047
|
+
private readonly path;
|
|
1048
|
+
create(body: CreateUssdOtpRequest): Promise<Result<CreateUssdOtpResponse>>;
|
|
1049
|
+
}
|
|
1050
|
+
|
|
1051
|
+
declare class WebhookAPI extends HttpClient {
|
|
1052
|
+
private readonly path;
|
|
1053
|
+
create(body: CreateWebhookRequest): Promise<Result<CreateWebhookResponse>>;
|
|
1054
|
+
retrieve(webhookId: string): Promise<Result<GetWebhookResponse>>;
|
|
1055
|
+
list(): Promise<Result<ListWebhooksResponse>>;
|
|
1056
|
+
update(webhookId: string, body: UpdateWebhookRequest): Promise<Result<UpdateWebhookResponse>>;
|
|
1057
|
+
delete(webhookId: string): Promise<Result<void>>;
|
|
1058
|
+
}
|
|
1015
1059
|
|
|
1016
1060
|
interface ClientOptions {
|
|
1017
|
-
monimeSpaceId
|
|
1018
|
-
accessToken
|
|
1061
|
+
monimeSpaceId?: string;
|
|
1062
|
+
accessToken?: string;
|
|
1019
1063
|
monimeVersion?: "caph.2025-08-23" | "caph.2025-06-20";
|
|
1020
1064
|
}
|
|
1021
1065
|
declare class MonimeClient {
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
webhook: ReturnType<typeof WebhookAPI>;
|
|
1034
|
-
financialTransaction: ReturnType<typeof FinancialTransactionAPI>;
|
|
1035
|
-
checkoutSession: ReturnType<typeof CheckoutSessionAPI>;
|
|
1066
|
+
financialAccount: FinancialAccountAPI;
|
|
1067
|
+
internalTransfer: InternalTransferAPI;
|
|
1068
|
+
paymentCode: PaymentCodeAPI;
|
|
1069
|
+
payment: PaymentAPI;
|
|
1070
|
+
payout: PayoutAPI;
|
|
1071
|
+
providerKyc: ProviderKycAPI;
|
|
1072
|
+
receipt: ReceiptAPI;
|
|
1073
|
+
ussdOtp: UssdOtpAPI;
|
|
1074
|
+
webhook: WebhookAPI;
|
|
1075
|
+
financialTransaction: FinancialTransactionAPI;
|
|
1076
|
+
checkoutSession: CheckoutSessionAPI;
|
|
1036
1077
|
financialProvider: {
|
|
1037
|
-
bank:
|
|
1038
|
-
momo:
|
|
1078
|
+
bank: BankAPI;
|
|
1079
|
+
momo: MomoAPI;
|
|
1039
1080
|
};
|
|
1040
|
-
constructor(options
|
|
1081
|
+
constructor(options?: ClientOptions);
|
|
1041
1082
|
}
|
|
1042
1083
|
|
|
1043
1084
|
declare function createClient(options: ClientOptions): MonimeClient;
|
|
1044
1085
|
|
|
1045
|
-
export { type
|
|
1086
|
+
export { type Bank, type BankFeature, type BankFeatureSet, type ClientConfig, type ClientOptions, type CreateCheckoutResponse, type CreateFinancialAccountResponse, type CreateInternalTransferResponse, type CreatePaymentCodeResponse, type CreatePayoutResponse, type CreateUssdOtpRequest, type CreateUssdOtpResponse, type CreateWebhookRequest, type CreateWebhookResponse, type DestinationOption, type GetProviderKycResponse, type GetReceiptResponse, type GetWebhookResponse, type ListBanksResponse, type ListCheckoutsResponse, type ListFinancialAccountsResponse, type ListInternalTransfersResponse, type ListMomosResponse, type ListPaymentCodesResponse, type ListPaymentsResponse, type ListPayoutsResponse, type ListTransactionsResponse, type ListWebhooksResponse, type Momo, type MomoFeature, type MomoFeatureSet, MonimeAuthenticationError, MonimeClient, MonimeError, MonimeValidationError, type Pagination, type Payment, type ProviderKyc, type Receipt, type RedeemReceiptResponse, type Result, type RetrieveBankResponse, type RetrieveCheckoutResponse, type RetrieveFinancialAccountResponse, type RetrieveInternalTransferResponse, type RetrieveMomoResponse, type RetrievePaymentCodeResponse, type RetrievePaymentResponse, type RetrievePayoutResponse, type RetrieveTransactionResponse, type UpdatePaymentResponse, type UpdateWebhookRequest, type UpdateWebhookResponse, type UssdOtp, type Webhook, type WebhookVerificationMethod, createClient };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var fr=Object.create;var M=Object.defineProperty;var dr=Object.getOwnPropertyDescriptor;var yr=Object.getOwnPropertyNames;var hr=Object.getPrototypeOf,Cr=Object.prototype.hasOwnProperty;var Pr=(r,e)=>{for(var t in e)M(r,t,{get:e[t],enumerable:!0})},Q=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of yr(e))!Cr.call(r,n)&&n!==t&&M(r,n,{get:()=>e[n],enumerable:!(o=dr(e,n))||o.enumerable});return r};var g=(r,e,t)=>(t=r!=null?fr(hr(r)):{},Q(e||!r||!r.__esModule?M(t,"default",{value:r,enumerable:!0}):t,r)),Rr=r=>Q(M({},"__esModule",{value:!0}),r);var Sr={};Pr(Sr,{MonimeClient:()=>G,createClient:()=>Ir});module.exports=Rr(Sr);var X=require("crypto"),y=g(require("axios"));var f=require("zod"),J=f.z.object({name:f.z.string().min(1,"Name is required"),amount:f.z.number().gt(0,"Amount must be greater than zero"),quantity:f.z.number().int().gt(0,"Quantity must be greater than zero"),successUrl:f.z.url("Invalid success URL"),cancelUrl:f.z.url("Invalid cancel URL"),description:f.z.string().optional(),financialAccountId:f.z.string().optional(),primaryColor:f.z.string().optional(),images:f.z.array(f.z.string()).optional()});var wr=(0,X.randomBytes)(20).toString("hex"),E="https://api.monime.io/v1/checkout-sessions";async function Y(r,e,t,o,n,s,a,u,m,p){let R=J.safeParse({name:e,amount:t,quantity:o,successUrl:n,cancelUrl:s,description:a,financialAccountId:u,primaryColor:m,images:p});if(!R.success)return{success:!1,error:new Error(R.error.message)};let{monimeSpaceId:W,accessToken:b,monimeVersion:z}=r,gr={name:e,description:a,cancelUrl:s,successUrl:n,callbackState:null,reference:null,financialAccountId:u,lineItems:[{type:"custom",name:e,price:{currency:"SLE",value:t},quantity:o,reference:null,description:a,images:p}],paymentOptions:{card:{disable:!1},bank:{disable:!1,enabledProviders:["slb001","slb004","slb007"]},momo:{disable:!1,enabledProviders:["m17","m18"]},wallet:{disable:!1,enabledProviders:["dw001"]}},brandingOptions:{primaryColor:m},metadata:{}};try{return{success:!0,data:(await y.default.post(E,gr,{headers:{"Monime-Space-Id":W,Authorization:`Bearer ${b}`,"Content-Type":"application/json","Idempotency-Key":wr,...z?{"Monime-Version":z}:{}}})).data}}catch(D){return y.default.isAxiosError(D)?{error:D,success:!1}:{error:new Error("unknown error"),success:!1}}}async function Z(r){let{accessToken:e,monimeSpaceId:t,monimeVersion:o}=r;try{return{success:!0,data:(await y.default.get(E,{headers:{"Monime-Space-Id":t,Authorization:`Bearer ${e}`,...o?{"Monime-Version":o}:{}}})).data}}catch(n){return y.default.isAxiosError(n)?{error:n,success:!1}:{error:new Error("unknown error"),success:!1}}}async function _(r,e){let{accessToken:t,monimeSpaceId:o,monimeVersion:n}=r;try{return{success:!0,data:(await y.default.get(`${E}/${e}`,{headers:{"Monime-Space-Id":o,Authorization:`Bearer ${t}`,...n?{"Monime-Version":n}:{}}})).data}}catch(s){return y.default.isAxiosError(s)?{error:s,success:!1}:{error:new Error("unknown error"),success:!1}}}async function ee(r,e){let{accessToken:t,monimeSpaceId:o,monimeVersion:n}=r;try{return await y.default.delete(`${E}/${e}`,{headers:{"Monime-Space-Id":o,Authorization:`Bearer ${t}`,...n?{"Monime-Version":n}:{}}}),{success:!0}}catch(s){return y.default.isAxiosError(s)?{error:s,success:!1}:{error:new Error("unknown error"),success:!1}}}function re(r){return{create:(e,t,o,n,s,a,u,m,p)=>Y(r,e,t,o,n,s,a,u,m,p),get:()=>Z(r),getOne:e=>_(r,e),delete:e=>ee(r,e)}}var te=require("crypto"),w=g(require("axios"));var $=require("zod"),ne=$.z.object({accountName:$.z.string().min(1,"Account name is required"),currency:$.z.enum(["USD","SLE"],{message:"Currency must be either USD or SLE"})});var L="https://api.monime.io/v1/financial-accounts",Ar=(0,te.randomBytes)(20).toString("hex");async function se(r,e,t){let o=ne.safeParse({accountName:r,currency:e});if(!o.success)return{success:!1,error:new Error(o.error.message)};let n={name:r,currency:e,description:"",metadata:{}},{accessToken:s,monimeSpaceId:a,monimeVersion:u}=t;try{return{success:!0,data:(await w.default.post(L,n,{headers:{"Idempotency-Key":`${Ar}`,"Monime-Space-Id":`${a}`,Authorization:`Bearer ${s}`,"Content-Type":"application/json",...u?{"Monime-Version":u}:{}}})).data.result}}catch(m){return w.default.isAxiosError(m)?{error:m,success:!1}:{error:new Error("unknown error"),success:!1}}}async function oe(r,e){if(r.trim()==="")return{success:!1,error:new Error("financialAccountId is required")};let{monimeSpaceId:t,accessToken:o,monimeVersion:n}=e;try{return{success:!0,data:(await w.default.get(`${L}/${r}`,{headers:{"Monime-Space-Id":`${t}`,Authorization:`Bearer ${o}`,...n?{"Monime-Version":n}:{}}})).data.result}}catch(s){return w.default.isAxiosError(s)?{error:s,success:!1}:{error:new Error("unknown error"),success:!1}}}async function ie(r){let{monimeSpaceId:e,accessToken:t,monimeVersion:o}=r;try{return{success:!0,data:(await w.default.get(L,{headers:{"Monime-Space-Id":`${e}`,Authorization:`Bearer ${t}`,...o?{"Monime-Version":o}:{}}})).data}}catch(n){return w.default.isAxiosError(n)?{error:n,success:!1}:{error:new Error("unknown error"),success:!1}}}function ae(r){return{create:(e,t)=>se(e,t,r),get:e=>oe(e,r),getAll:()=>ie(r)}}var T=g(require("axios")),ce="https://api.monime.io/v1/banks";async function ue(r,e){let{monimeSpaceId:t,accessToken:o,monimeVersion:n}=e;try{return{success:!0,data:(await T.default.get(`${ce}/${r}`,{headers:{"Monime-Space-Id":t,Authorization:`Bearer ${o}`,...n?{"Monime-Version":n}:{}}})).data.result}}catch(s){return T.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}async function me(r,e){let{monimeSpaceId:t,accessToken:o,monimeVersion:n}=r;try{return{success:!0,data:(await T.default.get(ce,{headers:{"Monime-Space-Id":t,Authorization:`Bearer ${o}`,...n?{"Monime-Version":n}:{}},params:e})).data}}catch(s){return T.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}function pe(r){return{get:e=>ue(e,r),getAll:e=>me(r,e)}}var x=g(require("axios")),le="https://api.monime.io/v1/momos";async function ge(r,e){let{monimeSpaceId:t,accessToken:o,monimeVersion:n}=e;try{return{success:!0,data:(await x.default.get(`${le}/${r}`,{headers:{"Monime-Space-Id":t,Authorization:`Bearer ${o}`,...n?{"Monime-Version":n}:{}}})).data.result}}catch(s){return x.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}async function fe(r,e){let{monimeSpaceId:t,accessToken:o,monimeVersion:n}=r;try{return{success:!0,data:(await x.default.get(le,{headers:{"Monime-Space-Id":t,Authorization:`Bearer ${o}`,...n?{"Monime-Version":n}:{}},params:e})).data}}catch(s){return x.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}function de(r){return{get:e=>ge(e,r),getAll:e=>fe(r,e)}}var I=g(require("axios")),ye="https://api.monime.io/v1/financial-transactions";async function he(r){let{monimeSpaceId:e,accessToken:t,monimeVersion:o}=r;try{return{success:!0,data:(await I.default.get(ye,{headers:{Authorization:`Bearer ${t}`,"Monime-Space-Id":`${e}`,...o?{"Monime-Version":o}:{}}})).data}}catch(n){return I.default.isAxiosError(n)?{error:n,success:!1}:{error:new Error("unknown error"),success:!1}}}async function Ce(r,e){let{accessToken:t,monimeSpaceId:o,monimeVersion:n}=r;if(e.trim()==="")return{error:new Error("transactionId must not be empty"),success:!1};try{return{success:!0,data:(await I.default.get(`${ye}/${e}`,{headers:{Authorization:`Bearer ${t}`,"Monime-Space-Id":`${o}`,...n?{"Monime-Version":n}:{}}})).data.result}}catch(s){return I.default.isAxiosError(s)?{error:s,success:!1}:{error:new Error("unknown error"),success:!1}}}function Pe(r){return{get:e=>Ce(r,e),getAll:()=>he(r)}}var we=require("crypto"),h=g(require("axios"));var S=require("zod"),Re=S.z.object({sourceAccount:S.z.string().min(1,"Source account is required"),destinationAccount:S.z.string().min(1,"Destination account is required"),amount:S.z.number().gt(0,"Amount must be greater than zero")});var F="https://api.monime.io/v1/internal-transfers",kr=(0,we.randomBytes)(20).toString("hex");async function Ae(r,e,t,o){let n=Re.safeParse({sourceAccount:r,destinationAccount:e,amount:o});if(!n.success)return{success:!1,error:new Error(n.error.message)};let s={amount:{currency:"SLE",value:o},sourceFinancialAccount:{id:r},destinationFinancialAccount:{id:e},metadata:{}},{accessToken:a,monimeSpaceId:u,monimeVersion:m}=t;try{return{success:!0,data:(await h.default.post(F,s,{headers:{"Idempotency-Key":`${kr}`,"Monime-Space-Id":`${u}`,Authorization:`Bearer ${a}`,"Content-Type":"application/json",...m?{"Monime-Version":m}:{}}})).data.result}}catch(p){return h.default.isAxiosError(p)?{error:p,success:!1}:{error:new Error("unkknown error"),success:!1}}}async function ke(r){let{monimeSpaceId:e,accessToken:t,monimeVersion:o}=r;try{return{success:!0,data:(await h.default.get(F,{headers:{"Monime-Space-Id":`${e}`,Authorization:`Bearer ${t}`,...o?{"Monime-Version":o}:{}}})).data}}catch(n){return h.default.isAxiosError(n)?{success:!1,error:n}:{error:new Error("unkknown error"),success:!1}}}async function be(r,e){let{accessToken:t,monimeSpaceId:o,monimeVersion:n}=r;try{return{success:!0,data:(await h.default.get(`${F}/${e}`,{headers:{"Monime-Space-Id":`${o}`,Authorization:`Bearer ${t}`,...n?{"Monime-Version":n}:{}}})).data.result}}catch(s){return h.default.isAxiosError(s)?{success:!1,error:s}:{error:new Error("unkknown error"),success:!1}}}async function Te(r,e){let{monimeSpaceId:t,accessToken:o,monimeVersion:n}=r;try{return await h.default.delete(`${F}/${e}`,{headers:{"Monime-Space-Id":`${t}`,Authorization:`Bearer ${o}`,...n?{"Monime-Version":n}:{}}}),{success:!0}}catch(s){return h.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("unknown error")}}}function xe(r){return{create:(e,t,o)=>Ae(e,t,r,o),get:e=>be(r,e),getAll:()=>ke(r),delete:e=>Te(r,e)}}var Se=require("crypto"),A=g(require("axios"));var B=require("zod"),Ie=B.z.record(B.z.string(),B.z.unknown());var K="https://api.monime.io/v1/payments";async function Oe(r,e){if(!r)return{success:!1,error:new Error("paymentId is required")};let{monimeSpaceId:t,accessToken:o,monimeVersion:n}=e;try{return{success:!0,data:(await A.default.get(`${K}/${r}`,{headers:{"Monime-Space-Id":t,Authorization:`Bearer ${o}`,...n?{"Monime-Version":n}:{}}})).data.result}}catch(s){return A.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}async function ve(r,e){let{monimeSpaceId:t,accessToken:o,monimeVersion:n}=r;try{return{success:!0,data:(await A.default.get(K,{headers:{"Monime-Space-Id":t,Authorization:`Bearer ${o}`,...n?{"Monime-Version":n}:{}},params:e})).data}}catch(s){return A.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}async function Ge(r,e,t){if(!r)return{success:!1,error:new Error("paymentId is required")};let o=Ie.safeParse(e);if(!o.success)return{success:!1,error:new Error(o.error.message)};let{monimeSpaceId:n,accessToken:s,monimeVersion:a}=t,u=(0,Se.randomBytes)(20).toString("hex");try{return{success:!0,data:(await A.default.patch(`${K}/${r}`,e,{headers:{"Idempotency-Key":u,"Monime-Space-Id":n,Authorization:`Bearer ${s}`,"Content-Type":"application/json",...a?{"Monime-Version":a}:{}}})).data.result}}catch(m){return A.default.isAxiosError(m)?{success:!1,error:m}:{success:!1,error:new Error("Unknown error")}}}function Me(r){return{get:e=>Oe(e,r),getAll:e=>ve(r,e),patch:(e,t)=>Ge(e,t,r)}}var $e=require("crypto"),C=g(require("axios"));var k=require("zod"),Ee=k.z.object({paymentName:k.z.string().min(1,"Payment name is required"),amount:k.z.number().gt(0,"Amount must be greater than zero"),financialAccountId:k.z.string().optional().nullable(),name:k.z.string().min(1,"Name is required"),phoneNumber:k.z.string().min(1,"Phone number is required")});var Fe=(0,$e.randomBytes)(20).toString("hex"),V="https://api.monime.io/v1/payment-codes";async function Be(r,e,t,o,n,s){let a=null;t!==""&&(a=t);let u=Ee.safeParse({paymentName:r,amount:e,financialAccountId:t,name:o,phoneNumber:n});if(!u.success)return{success:!1,error:new Error(u.error.message)};let{accessToken:m,monimeSpaceId:p,monimeVersion:R}=s,W={name:`${r}`,mode:"recurrent",enable:!0,amount:{currency:"SLE",value:e*100},duration:"1h30m",customer:{name:`${o}`},reference:"",authorizedPhoneNumber:n,recurrentPaymentTarget:{expectedPaymentCount:1,expectedPaymentTotal:{currency:"SLE",value:e*100}},financialAccountId:a,metadata:{}};try{return{success:!0,data:(await C.default.post(V,W,{headers:{"Idempotency-Key":`${Fe}`,"Monime-Space-Id":`${p}`,Authorization:`Bearer ${m}`,"Content-Type":"application/json",...R?{"Monime-Version":R}:{}}})).data.result}}catch(b){return C.default.isAxiosError(b)?{error:b.response?.data,success:!1}:{error:new Error("unknown error"),success:!1}}}async function Ve(r,e){let{accessToken:t,monimeSpaceId:o,monimeVersion:n}=e;if(r.trim()==="")return{success:!1,error:new Error("paymentCodeId is required")};try{return await C.default.delete(`${V}/${r}`,{headers:{"Idempotency-Key":`${Fe}`,"Monime-Space-Id":`${o}`,Authorization:`Bearer ${t}`,"Content-Type":"application/json",...n?{"Monime-Version":n}:{}}}),{success:!0}}catch(s){return C.default.isAxiosError(s)?{error:s,success:!1}:{error:new Error("unknown error"),success:!1}}}async function Ue(r){let{monimeSpaceId:e,accessToken:t,monimeVersion:o}=r;try{return{success:!0,data:(await C.default.get(V,{headers:{"Monime-Space-Id":`${e}`,Authorization:`Bearer ${t}`,...o?{"Monime-Version":o}:{}}})).data}}catch(n){return C.default.isAxiosError(n)?{error:n,success:!1}:{error:new Error("unknown error"),success:!1}}}async function We(r,e){let{monimeSpaceId:t,accessToken:o,monimeVersion:n}=e;try{return{success:!0,data:(await C.default.get(`${V}/${r}`,{headers:{"Monime-Space-Id":`${t}`,Authorization:`Bearer ${o}`,...n?{"Monime-Version":n}:{}}})).data.result}}catch(s){return C.default.isAxiosError(s)?{error:s,success:!1}:{error:new Error("unknown error"),success:!1}}}function ze(r){return{create:(e,t,o,n,s)=>Be(e,t,o,n,s,r),delete:e=>Ve(e,r),getAll:()=>Ue(r),get:e=>We(e,r)}}var Le=require("crypto"),P=g(require("axios"));var l=require("zod"),De=l.z.object({amount:l.z.number().gt(0,"Amount must be greater than 0"),sourceAccount:l.z.string().min(1,"Source account cannot be empty"),destination:l.z.discriminatedUnion("type",[l.z.object({type:l.z.literal("momo"),providerId:l.z.enum(["m17","m18"]),phoneNumber:l.z.string()}),l.z.object({type:l.z.literal("bank"),providerId:l.z.enum(["b01","b02","b03"]),accountNumber:l.z.string()}),l.z.object({type:l.z.literal("wallet"),providerId:l.z.enum(["w01","w02"]),walletId:l.z.string()})])});var U="https://api.monime.io/v1/payouts",br=(0,Le.randomBytes)(20).toString("hex");async function Ke(r,e,t,o){let n=De.safeParse({amount:r,sourceAccount:e,destination:t});if(!n.success)return{success:!1,error:new Error(n.error.message)};let{accessToken:s,monimeSpaceId:a,monimeVersion:u}=o,m={amount:{currency:"SLE",value:r},source:{financialAccountId:e},destination:t,metadata:{}};try{return{success:!0,data:(await P.default.post(U,m,{headers:{"Idempotency-Key":`${br}`,"Monime-Space-Id":`${a}`,Authorization:`Bearer ${s}`,"Content-Type":"application/json",...u?{"Monime-Version":u}:{}}})).data.result}}catch(p){return P.default.isAxiosError(p)?{success:!1,error:p}:{success:!1,error:new Error("unknown error")}}}async function qe(r){let{accessToken:e,monimeSpaceId:t,monimeVersion:o}=r;try{return{success:!0,data:(await P.default.get(U,{headers:{"Monime-Space-Id":`${t}`,Authorization:`Bearer ${e}`,...o?{"Monime-Version":o}:{}}})).data}}catch(n){return P.default.isAxiosError(n)?{success:!1,error:n}:{success:!1,error:new Error("unknown error")}}}async function Ne(r,e){let{accessToken:t,monimeSpaceId:o,monimeVersion:n}=e;try{return{success:!0,data:(await P.default.get(`${U}/${r}`,{headers:{"Monime-Space-Id":`${o}`,Authorization:`Bearer ${t}`,...n?{"Monime-Version":n}:{}}})).data.result}}catch(s){return P.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("unknown error")}}}async function je(r,e){let{accessToken:t,monimeSpaceId:o,monimeVersion:n}=e;try{return await P.default.delete(`${U}/${r}`,{headers:{"Monime-Space-Id":`${o}`,Authorization:`Bearer ${t}`,...n?{"Monime-Version":n}:{}}}),{success:!0}}catch(s){return P.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("unknown error")}}}function He(r){return{create:(e,t,o)=>Ke(e,o,t,r),get:()=>qe(r),getOne:e=>Ne(e,r),delete:e=>je(e,r)}}var q=g(require("axios")),Tr="https://api.monime.io/v1/provider-kyc";async function Qe(r,e){let{monimeSpaceId:t,accessToken:o,monimeVersion:n}=e;try{return{success:!0,data:(await q.default.get(`${Tr}/${r}`,{headers:{"Monime-Space-Id":t,Authorization:`Bearer ${o}`,...n?{"Monime-Version":n}:{}}})).data.result}}catch(s){return q.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}function Je(r){return{get:e=>Qe(e,r)}}var Xe=require("crypto"),O=g(require("axios")),Ye="https://api.monime.io/v1/receipts";async function Ze(r,e){let{monimeSpaceId:t,accessToken:o,monimeVersion:n}=e;try{return{success:!0,data:(await O.default.get(`${Ye}/${r}`,{headers:{"Monime-Space-Id":t,Authorization:`Bearer ${o}`,...n?{"Monime-Version":n}:{}}})).data.result}}catch(s){return O.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}async function _e(r,e,t){let{monimeSpaceId:o,accessToken:n,monimeVersion:s}=t,a=(0,Xe.randomBytes)(20).toString("hex");try{return{success:!0,data:(await O.default.post(`${Ye}/${r}/redeem`,e,{headers:{"Idempotency-Key":a,"Monime-Space-Id":o,Authorization:`Bearer ${n}`,"Content-Type":"application/json",...s?{"Monime-Version":s}:{}}})).data.result}}catch(u){return O.default.isAxiosError(u)?{success:!1,error:u}:{success:!1,error:new Error("Unknown error")}}}function er(r){return{get:e=>Ze(e,r),redeem:(e,t={})=>_e(e,t,r)}}var nr=require("crypto"),j=g(require("axios"));var N=require("zod"),rr=N.z.object({phoneNumber:N.z.string().min(1,"Phone number is required")});var xr="https://api.monime.io/v1/ussd-otps";async function tr(r,e){let t=rr.safeParse(r);if(!t.success)return{success:!1,error:new Error(t.error.message)};let{monimeSpaceId:o,accessToken:n,monimeVersion:s}=e,a=(0,nr.randomBytes)(20).toString("hex");try{return{success:!0,data:(await j.default.post(xr,r,{headers:{"Idempotency-Key":a,"Monime-Space-Id":o,Authorization:`Bearer ${n}`,"Content-Type":"application/json",...s?{"Monime-Version":s}:{}}})).data.result}}catch(u){return j.default.isAxiosError(u)?{success:!1,error:u}:{success:!1,error:new Error("Unknown error")}}}function sr(r){return{create:e=>tr(e,r)}}var H=require("crypto"),d=g(require("axios"));var c=require("zod"),or=c.z.object({name:c.z.string().min(1,"Name is required"),url:c.z.string().url("Invalid URL"),events:c.z.array(c.z.string()).min(1,"At least one event is required"),enabled:c.z.boolean().optional(),apiRelease:c.z.string().optional(),headers:c.z.record(c.z.string(),c.z.string()).optional(),alertEmails:c.z.array(c.z.string().email()).optional(),verificationMethod:c.z.object({type:c.z.enum(["HS256","ES256"]),secret:c.z.string()}).optional(),metadata:c.z.record(c.z.string(),c.z.unknown()).optional()}),ir=c.z.object({name:c.z.string().min(1).optional(),url:c.z.string().url().optional(),events:c.z.array(c.z.string()).min(1).optional(),enabled:c.z.boolean().optional(),headers:c.z.record(c.z.string(),c.z.string()).optional(),alertEmails:c.z.array(c.z.email()).optional(),verificationMethod:c.z.object({type:c.z.enum(["HS256","ES256"]),secret:c.z.string()}).optional(),metadata:c.z.record(c.z.string(),c.z.unknown()).optional()});var v="https://api.monime.io/v1/webhooks";async function ar(r,e){let t=or.safeParse(r);if(!t.success)return{success:!1,error:new Error(t.error.message)};let{monimeSpaceId:o,accessToken:n,monimeVersion:s}=e,a=(0,H.randomBytes)(20).toString("hex");try{return{success:!0,data:(await d.default.post(v,r,{headers:{"Idempotency-Key":a,"Monime-Space-Id":o,Authorization:`Bearer ${n}`,"Content-Type":"application/json",...s?{"Monime-Version":s}:{}}})).data.result}}catch(u){return d.default.isAxiosError(u)?{success:!1,error:u}:{success:!1,error:new Error("Unknown error")}}}async function cr(r,e){let{monimeSpaceId:t,accessToken:o,monimeVersion:n}=e;try{return{success:!0,data:(await d.default.get(`${v}/${r}`,{headers:{"Monime-Space-Id":t,Authorization:`Bearer ${o}`,...n?{"Monime-Version":n}:{}}})).data.result}}catch(s){return d.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}async function ur(r){let{monimeSpaceId:e,accessToken:t,monimeVersion:o}=r;try{return{success:!0,data:(await d.default.get(v,{headers:{"Monime-Space-Id":e,Authorization:`Bearer ${t}`,...o?{"Monime-Version":o}:{}}})).data}}catch(n){return d.default.isAxiosError(n)?{success:!1,error:n}:{success:!1,error:new Error("Unknown error")}}}async function mr(r,e,t){let o=ir.safeParse(e);if(!o.success)return{success:!1,error:new Error(o.error.message)};let{monimeSpaceId:n,accessToken:s,monimeVersion:a}=t,u=(0,H.randomBytes)(20).toString("hex");try{return{success:!0,data:(await d.default.patch(`${v}/${r}`,e,{headers:{"Idempotency-Key":u,"Monime-Space-Id":n,Authorization:`Bearer ${s}`,"Content-Type":"application/json",...a?{"Monime-Version":a}:{}}})).data.result}}catch(m){return d.default.isAxiosError(m)?{success:!1,error:m}:{success:!1,error:new Error("Unknown error")}}}async function pr(r,e){let{monimeSpaceId:t,accessToken:o,monimeVersion:n}=e;try{return await d.default.delete(`${v}/${r}`,{headers:{"Monime-Space-Id":t,Authorization:`Bearer ${o}`,...n?{"Monime-Version":n}:{}}}),{success:!0}}catch(s){return d.default.isAxiosError(s)?{success:!1,error:s}:{success:!1,error:new Error("Unknown error")}}}function lr(r){return{create:e=>ar(e,r),get:e=>cr(e,r),getAll:()=>ur(r),update:(e,t)=>mr(e,t,r),delete:e=>pr(e,r)}}var G=class{monimeSpaceId;accessToken;monimeVersion;financialAccount;internalTransfer;paymentCode;payment;payout;providerKyc;receipt;ussdOtp;webhook;financialTransaction;checkoutSession;financialProvider;constructor(e){this.accessToken=e.accessToken,this.monimeSpaceId=e.monimeSpaceId,this.monimeVersion=e.monimeVersion;let t={monimeSpaceId:this.monimeSpaceId,accessToken:this.accessToken,monimeVersion:this.monimeVersion};this.financialAccount=ae(t),this.internalTransfer=xe(t),this.paymentCode=ze(t),this.payment=Me(t),this.payout=He(t),this.providerKyc=Je(t),this.receipt=er(t),this.ussdOtp=sr(t),this.webhook=lr(t),this.financialTransaction=Pe(t),this.checkoutSession=re(t),this.financialProvider={bank:pe(t),momo:de(t)}}};function Ir(r){return new G(r)}0&&(module.exports={MonimeClient,createClient});
|
|
1
|
+
"use strict";var $=Object.defineProperty;var ae=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var ce=Object.prototype.hasOwnProperty;var pe=(a,e)=>{for(var t in e)$(a,t,{get:e[t],enumerable:!0})},me=(a,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of oe(e))!ce.call(a,s)&&s!==t&&$(a,s,{get:()=>e[s],enumerable:!(n=ae(e,s))||n.enumerable});return a};var ue=a=>me($({},"__esModule",{value:!0}),a);var de={};pe(de,{MonimeAuthenticationError:()=>R,MonimeClient:()=>P,MonimeError:()=>d,MonimeValidationError:()=>U,createClient:()=>ge});module.exports=ue(de);var d=class a extends Error{status;requestId;details;constructor(e,t,n,s){super(e),this.name="MonimeError",t!==void 0&&(this.status=t),n!==void 0&&(this.requestId=n),this.details=s,Error.captureStackTrace&&Error.captureStackTrace(this,a)}},R=class extends d{constructor(e="Invalid or missing access token"){super(e,401),this.name="MonimeAuthenticationError"}},U=class extends d{constructor(e,t){super(e,400,void 0,t),this.name="MonimeValidationError"}};var o=class{baseUrl="https://api.monime.io/v1";config;constructor(e){this.config=e}async getHeaders(e){let t=new Headers({"Content-Type":"application/json",Authorization:`Bearer ${this.config.accessToken}`,"Monime-Space-Id":this.config.monimeSpaceId});return this.config.monimeVersion&&t.set("Monime-Version",this.config.monimeVersion),e&&t.set("Idempotency-Key",e),t}async request(e){let{path:t,method:n,body:s,idempotencyKey:c}=e,g=`${this.baseUrl}${t}`;try{let p=await fetch(g,{method:n,headers:await this.getHeaders(c),body:s?JSON.stringify(s):null}),f=p.headers?.get("x-request-id")||void 0;if(!p.ok){let l=`Request failed with status ${p.status}`,w;try{let v=await p.json();l=v.message||l,w=v}catch{}throw p.status===401?new R(l):new d(l,p.status,f,w)}if(p.status===204)return{success:!0};let y=await p.json();return{success:!0,data:y.result!==void 0?y.result:y}}catch(p){return p instanceof d?{success:!1,error:p}:{success:!1,error:p instanceof Error?p:new Error("Unknown error occurred")}}}};var u=require("zod"),K=u.z.object({name:u.z.string().min(1,"Name is required"),amount:u.z.number().gt(0,"Amount must be greater than zero"),quantity:u.z.number().int().gt(0,"Quantity must be greater than zero"),successUrl:u.z.string().url("Invalid success URL"),cancelUrl:u.z.string().url("Invalid cancel URL"),description:u.z.string().optional(),financialAccountId:u.z.string().optional(),primaryColor:u.z.string().optional(),images:u.z.array(u.z.string()).optional()});var H=require("crypto"),T=class extends o{path="/checkout-sessions";async create(e,t,n,s,c,g={}){let{description:p,financialAccountId:f,primaryColor:y,images:M}=g,l=K.safeParse({name:e,amount:t,quantity:n,successUrl:s,cancelUrl:c,description:p,financialAccountId:f,primaryColor:y,images:M});if(!l.success)return{success:!1,error:new Error(l.error.message)};let w={name:e,description:p,cancelUrl:c,successUrl:s,callbackState:null,reference:null,financialAccountId:f,lineItems:[{type:"custom",name:e,price:{currency:"SLE",value:t},quantity:n,reference:null,description:p,images:M}],paymentOptions:{card:{disable:!1},bank:{disable:!1,enabledProviders:["slb001","slb004","slb007"]},momo:{disable:!1,enabledProviders:["m17","m18"]},wallet:{disable:!1,enabledProviders:["dw001"]}},brandingOptions:{primaryColor:y},metadata:{}},v=(0,H.randomBytes)(20).toString("hex");return this.request({method:"POST",path:this.path,body:w,idempotencyKey:v})}async list(){return this.request({method:"GET",path:this.path})}async retrieve(e){return this.request({method:"GET",path:`${this.path}/${e}`})}async delete(e){return this.request({method:"DELETE",path:`${this.path}/${e}`})}};var x=require("zod"),z=x.z.object({accountName:x.z.string().min(1,"Account name is required"),currency:x.z.enum(["USD","SLE"],{message:"Currency must be either USD or SLE"})});var V=require("crypto"),O=class extends o{path="/financial-accounts";async create(e,t){let n=z.safeParse({accountName:e,currency:t});if(!n.success)return{success:!1,error:new Error(n.error.message)};let s={name:e,currency:t,description:"",metadata:{}},c=(0,V.randomBytes)(20).toString("hex");return this.request({method:"POST",path:this.path,body:s,idempotencyKey:c})}async retrieve(e){return!e||e.trim()===""?{success:!1,error:new Error("financialAccountId is required")}:this.request({method:"GET",path:`${this.path}/${e}`})}async list(){return this.request({method:"GET",path:this.path})}};var C=class extends o{path="/banks";async retrieve(e){return this.request({method:"GET",path:`${this.path}/${e}`})}async list(){return this.request({method:"GET",path:this.path})}};var k=class extends o{path="/momos";async retrieve(e){return this.request({method:"GET",path:`${this.path}/${e}`})}async list(){return this.request({method:"GET",path:this.path})}};var A=class extends o{path="/financial-transactions";async list(){return this.request({method:"GET",path:this.path})}async retrieve(e){return!e||e.trim()===""?{error:new Error("transactionId is required"),success:!1}:this.request({method:"GET",path:`${this.path}/${e}`})}};var b=require("zod"),j=b.z.object({sourceAccount:b.z.string().min(1,"Source account is required"),destinationAccount:b.z.string().min(1,"Destination account is required"),amount:b.z.number().gt(0,"Amount must be greater than zero")});var _=require("crypto"),I=class extends o{path="/internal-transfers";async create(e,t,n){let s=j.safeParse({sourceAccount:e,destinationAccount:t,amount:n});if(!s.success)return{success:!1,error:new Error(s.error.message)};let c={amount:{currency:"SLE",value:n},sourceFinancialAccount:{id:e},destinationFinancialAccount:{id:t},metadata:{}},g=(0,_.randomBytes)(20).toString("hex");return this.request({method:"POST",path:this.path,body:c,idempotencyKey:g})}async list(){return this.request({method:"GET",path:this.path})}async retrieve(e){return this.request({method:"GET",path:`${this.path}/${e}`})}async delete(e){return this.request({method:"DELETE",path:`${this.path}/${e}`})}};var S=require("zod"),J=S.z.record(S.z.string(),S.z.unknown());var Q=require("crypto"),E=class extends o{path="/payments";async retrieve(e){return e?this.request({method:"GET",path:`${this.path}/${e}`}):{success:!1,error:new Error("paymentId is required")}}async list(){return this.request({method:"GET",path:this.path})}async update(e,t){if(!e)return{success:!1,error:new Error("paymentId is required")};let n=J.safeParse(t);if(!n.success)return{success:!1,error:new Error(n.error.message)};let s=(0,Q.randomBytes)(20).toString("hex");return this.request({method:"PATCH",path:`${this.path}/${e}`,body:t,idempotencyKey:s})}};var h=require("zod"),X=h.z.object({paymentName:h.z.string().min(1,"Payment name is required"),amount:h.z.number().gt(0,"Amount must be greater than zero"),financialAccountId:h.z.string().optional().nullable(),name:h.z.string().min(1,"Name is required"),phoneNumber:h.z.string().min(1,"Phone number is required")});var Y=require("crypto"),G=class extends o{path="/payment-codes";async create(e,t,n,s,c){let g=X.safeParse({paymentName:e,amount:t,financialAccountId:n,name:s,phoneNumber:c});if(!g.success)return{success:!1,error:new Error(g.error.message)};let p={name:e,mode:"recurrent",enable:!0,amount:{currency:"SLE",value:t*100},duration:"1h30m",customer:{name:s},reference:"",authorizedPhoneNumber:c,recurrentPaymentTarget:{expectedPaymentCount:1,expectedPaymentTotal:{currency:"SLE",value:t*100}},financialAccountId:n||void 0,metadata:{}},f=(0,Y.randomBytes)(20).toString("hex");return this.request({method:"POST",path:this.path,body:p,idempotencyKey:f})}async retrieve(e){return this.request({method:"GET",path:`${this.path}/${e}`})}async list(){return this.request({method:"GET",path:this.path})}async delete(e){return!e||e.trim()===""?{success:!1,error:new Error("paymentCodeId is required")}:this.request({method:"DELETE",path:`${this.path}/${e}`})}};var m=require("zod"),Z=m.z.object({amount:m.z.number().gt(0,"Amount must be greater than 0"),sourceAccount:m.z.string().min(1,"Source account cannot be empty"),destination:m.z.discriminatedUnion("type",[m.z.object({type:m.z.literal("momo"),providerId:m.z.enum(["m17","m18"]),phoneNumber:m.z.string()}),m.z.object({type:m.z.literal("bank"),providerId:m.z.enum(["b01","b02","b03"]),accountNumber:m.z.string()}),m.z.object({type:m.z.literal("wallet"),providerId:m.z.enum(["w01","w02"]),walletId:m.z.string()})])});var ee=require("crypto"),F=class extends o{path="/payouts";async create(e,t,n){let s=Z.safeParse({amount:e,sourceAccount:t,destination:n});if(!s.success)return{success:!1,error:new Error(s.error.message)};let c={amount:{currency:"SLE",value:e},source:{financialAccountId:t},destination:n,metadata:{}},g=(0,ee.randomBytes)(20).toString("hex");return this.request({method:"POST",path:this.path,body:c,idempotencyKey:g})}async list(){return this.request({method:"GET",path:this.path})}async retrieve(e){return this.request({method:"GET",path:`${this.path}/${e}`})}async delete(e){return this.request({method:"DELETE",path:`${this.path}/${e}`})}};var q=class extends o{path="/provider-kyc";async retrieve(e){return this.request({method:"GET",path:`${this.path}/${e}`})}};var te=require("crypto"),D=class extends o{path="/receipts";async retrieve(e){return this.request({method:"GET",path:`${this.path}/${e}`})}async redeem(e,t){let n=(0,te.randomBytes)(20).toString("hex");return this.request({method:"POST",path:`${this.path}/${e}/redeem`,body:t,idempotencyKey:n})}};var W=require("zod"),re=W.z.object({phoneNumber:W.z.string().min(1,"Phone number is required")});var ne=require("crypto"),L=class extends o{path="/ussd-otps";async create(e){let t=re.safeParse(e);if(!t.success)return{success:!1,error:new Error(t.error.message)};let n=(0,ne.randomBytes)(20).toString("hex");return this.request({method:"POST",path:this.path,body:e,idempotencyKey:n})}};var i=require("zod"),ie=i.z.object({name:i.z.string().min(1,"Name is required"),url:i.z.string().url("Invalid URL"),events:i.z.array(i.z.string()).min(1,"At least one event is required"),enabled:i.z.boolean().optional(),apiRelease:i.z.string().optional(),headers:i.z.record(i.z.string(),i.z.string()).optional(),alertEmails:i.z.array(i.z.string().email()).optional(),verificationMethod:i.z.object({type:i.z.enum(["HS256","ES256"]),secret:i.z.string()}).optional(),metadata:i.z.record(i.z.string(),i.z.unknown()).optional()}),se=i.z.object({name:i.z.string().min(1).optional(),url:i.z.string().url().optional(),events:i.z.array(i.z.string()).min(1).optional(),enabled:i.z.boolean().optional(),headers:i.z.record(i.z.string(),i.z.string()).optional(),alertEmails:i.z.array(i.z.string().email()).optional(),verificationMethod:i.z.object({type:i.z.enum(["HS256","ES256"]),secret:i.z.string()}).optional(),metadata:i.z.record(i.z.string(),i.z.unknown()).optional()});var N=require("crypto"),B=class extends o{path="/webhooks";async create(e){let t=ie.safeParse(e);if(!t.success)return{success:!1,error:new Error(t.error.message)};let n=(0,N.randomBytes)(20).toString("hex");return this.request({method:"POST",path:this.path,body:e,idempotencyKey:n})}async retrieve(e){return this.request({method:"GET",path:`${this.path}/${e}`})}async list(){return this.request({method:"GET",path:this.path})}async update(e,t){let n=se.safeParse(t);if(!n.success)return{success:!1,error:new Error(n.error.message)};let s=(0,N.randomBytes)(20).toString("hex");return this.request({method:"PATCH",path:`${this.path}/${e}`,body:t,idempotencyKey:s})}async delete(e){return this.request({method:"DELETE",path:`${this.path}/${e}`})}};var P=class{financialAccount;internalTransfer;paymentCode;payment;payout;providerKyc;receipt;ussdOtp;webhook;financialTransaction;checkoutSession;financialProvider;constructor(e={}){let t=e.monimeSpaceId||process.env.MONIME_SPACE_ID,n=e.accessToken||process.env.MONIME_ACCESS_TOKEN,s=e.monimeVersion||process.env.MONIME_VERSION;if(!t)throw new Error("monimeSpaceId is required. Pass it in options or set MONIME_SPACE_ID env var.");if(!n)throw new Error("accessToken is required. Pass it in options or set MONIME_ACCESS_TOKEN env var.");let c={monimeSpaceId:t,accessToken:n,monimeVersion:s};this.financialAccount=new O(c),this.internalTransfer=new I(c),this.paymentCode=new G(c),this.payment=new E(c),this.payout=new F(c),this.providerKyc=new q(c),this.receipt=new D(c),this.ussdOtp=new L(c),this.webhook=new B(c),this.financialTransaction=new A(c),this.checkoutSession=new T(c),this.financialProvider={bank:new C(c),momo:new k(c)}}};function ge(a){return new P(a)}0&&(module.exports={MonimeAuthenticationError,MonimeClient,MonimeError,MonimeValidationError,createClient});
|