@lepresk/momo-api 1.0.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.
Files changed (58) hide show
  1. package/README.md +224 -0
  2. package/dist/MomoApi.d.ts +30 -0
  3. package/dist/MomoApi.d.ts.map +1 -0
  4. package/dist/MomoApi.js +53 -0
  5. package/dist/MomoApi.js.map +1 -0
  6. package/dist/exceptions/MomoException.d.ts +21 -0
  7. package/dist/exceptions/MomoException.d.ts.map +1 -0
  8. package/dist/exceptions/MomoException.js +66 -0
  9. package/dist/exceptions/MomoException.js.map +1 -0
  10. package/dist/index.d.ts +16 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +55 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/models/AccountBalance.d.ts +9 -0
  15. package/dist/models/AccountBalance.d.ts.map +1 -0
  16. package/dist/models/AccountBalance.js +22 -0
  17. package/dist/models/AccountBalance.js.map +1 -0
  18. package/dist/models/ApiToken.d.ts +16 -0
  19. package/dist/models/ApiToken.d.ts.map +1 -0
  20. package/dist/models/ApiToken.js +27 -0
  21. package/dist/models/ApiToken.js.map +1 -0
  22. package/dist/models/Config.d.ts +19 -0
  23. package/dist/models/Config.d.ts.map +1 -0
  24. package/dist/models/Config.js +31 -0
  25. package/dist/models/Config.js.map +1 -0
  26. package/dist/models/PaymentRequest.d.ts +12 -0
  27. package/dist/models/PaymentRequest.d.ts.map +1 -0
  28. package/dist/models/PaymentRequest.js +37 -0
  29. package/dist/models/PaymentRequest.js.map +1 -0
  30. package/dist/models/RefundRequest.d.ts +12 -0
  31. package/dist/models/RefundRequest.d.ts.map +1 -0
  32. package/dist/models/RefundRequest.js +34 -0
  33. package/dist/models/RefundRequest.js.map +1 -0
  34. package/dist/models/Transaction.d.ts +19 -0
  35. package/dist/models/Transaction.d.ts.map +1 -0
  36. package/dist/models/Transaction.js +52 -0
  37. package/dist/models/Transaction.js.map +1 -0
  38. package/dist/models/TransferRequest.d.ts +12 -0
  39. package/dist/models/TransferRequest.d.ts.map +1 -0
  40. package/dist/models/TransferRequest.js +37 -0
  41. package/dist/models/TransferRequest.js.map +1 -0
  42. package/dist/products/CollectionApi.d.ts +19 -0
  43. package/dist/products/CollectionApi.d.ts.map +1 -0
  44. package/dist/products/CollectionApi.js +97 -0
  45. package/dist/products/CollectionApi.js.map +1 -0
  46. package/dist/products/DisbursementApi.d.ts +24 -0
  47. package/dist/products/DisbursementApi.d.ts.map +1 -0
  48. package/dist/products/DisbursementApi.js +166 -0
  49. package/dist/products/DisbursementApi.js.map +1 -0
  50. package/dist/products/SandboxApi.d.ts +10 -0
  51. package/dist/products/SandboxApi.d.ts.map +1 -0
  52. package/dist/products/SandboxApi.js +60 -0
  53. package/dist/products/SandboxApi.js.map +1 -0
  54. package/dist/support/uuid.d.ts +2 -0
  55. package/dist/support/uuid.d.ts.map +1 -0
  56. package/dist/support/uuid.js +8 -0
  57. package/dist/support/uuid.js.map +1 -0
  58. package/package.json +38 -0
package/README.md ADDED
@@ -0,0 +1,224 @@
1
+ # momo-api
2
+
3
+ MTN Mobile Money API client for Node.js — collections, disbursements and remittances.
4
+
5
+ This is a port of the PHP package [`lepresk/momo-api`](https://github.com/lepresk/momo-api) to Node.js/TypeScript. See the original article at [lepresk.com/blog](https://lepresk.com/blog).
6
+
7
+ ## Requirements
8
+
9
+ - Node.js 18 or later (uses native `fetch` and `crypto.randomUUID`)
10
+ - An MTN MoMo developer account with API credentials
11
+
12
+ ## Installation
13
+
14
+ ```bash
15
+ npm install momo-api
16
+ # or
17
+ pnpm add momo-api
18
+ # or
19
+ yarn add momo-api
20
+ ```
21
+
22
+ ## Getting started
23
+
24
+ ### Sandbox setup
25
+
26
+ Before making live API calls you need to provision a sandbox user and API key via the `SandboxApi`:
27
+
28
+ ```typescript
29
+ import { MomoApi, ENVIRONMENT_SANDBOX } from 'momo-api'
30
+ import { generateUUID } from 'momo-api'
31
+
32
+ const momo = MomoApi.create(ENVIRONMENT_SANDBOX)
33
+ const sandbox = momo.sandbox('your-subscription-key')
34
+
35
+ const apiUser = generateUUID()
36
+ await sandbox.createApiUser(apiUser, 'https://your-callback-host.com')
37
+ const apiKey = await sandbox.createApiKey(apiUser)
38
+
39
+ console.log('API User:', apiUser)
40
+ console.log('API Key:', apiKey)
41
+ ```
42
+
43
+ ## Collection
44
+
45
+ The Collection product allows you to request payments from customers.
46
+
47
+ ```typescript
48
+ import { MomoApi, ENVIRONMENT_SANDBOX, Config, PaymentRequest } from 'momo-api'
49
+
50
+ const config = Config.collection(
51
+ 'your-subscription-key',
52
+ 'your-api-user',
53
+ 'your-api-key',
54
+ 'https://your-callback-host.com/webhook'
55
+ )
56
+
57
+ const collection = MomoApi.create(ENVIRONMENT_SANDBOX).getCollection(config)
58
+
59
+ // Request a payment
60
+ const request = PaymentRequest.make(
61
+ '100', // amount
62
+ '0242439784', // payer phone number (MSISDN)
63
+ 'order-123', // external reference ID
64
+ 'EUR', // currency
65
+ 'Payment for order #123', // payer message (optional)
66
+ 'Thank you' // payee note (optional)
67
+ )
68
+
69
+ const referenceId = await collection.requestToPay(request)
70
+ console.log('Payment initiated, reference ID:', referenceId)
71
+
72
+ // Check payment status
73
+ const transaction = await collection.getPaymentStatus(referenceId)
74
+
75
+ if (transaction.isSuccessful()) {
76
+ console.log('Payment successful:', transaction.getFinancialTransactionId())
77
+ } else if (transaction.isPending()) {
78
+ console.log('Payment is still pending')
79
+ } else {
80
+ console.log('Payment failed')
81
+ }
82
+
83
+ // Get account balance
84
+ const balance = await collection.getBalance()
85
+ console.log(`Balance: ${balance.getAvailableBalance()} ${balance.getCurrency()}`)
86
+
87
+ // Quick pay shorthand
88
+ const refId = await collection.quickPay('50', '0242439784', 'quick-order-456', 'EUR')
89
+ ```
90
+
91
+ ## Disbursement
92
+
93
+ The Disbursement product allows you to send money to customers.
94
+
95
+ ```typescript
96
+ import { MomoApi, ENVIRONMENT_SANDBOX, Config, PaymentRequest, TransferRequest, RefundRequest } from 'momo-api'
97
+
98
+ const config = Config.disbursement(
99
+ 'your-subscription-key',
100
+ 'your-api-user',
101
+ 'your-api-key',
102
+ 'https://your-callback-host.com/webhook'
103
+ )
104
+
105
+ const disbursement = MomoApi.create(ENVIRONMENT_SANDBOX).getDisbursement(config)
106
+
107
+ // Deposit funds to a customer
108
+ const depositRequest = PaymentRequest.make('200', '0242439784', 'dep-001', 'EUR', 'Deposit', 'Here are your funds')
109
+ const depositRefId = await disbursement.deposit(depositRequest)
110
+ const deposit = await disbursement.getDepositStatus(depositRefId)
111
+
112
+ // Transfer funds
113
+ const transferRequest = TransferRequest.make('300', '0242439784', 'xfer-001', 'EUR', 'Transfer', 'For you')
114
+ const transferRefId = await disbursement.transfer(transferRequest)
115
+ const transfer = await disbursement.getTransferStatus(transferRefId)
116
+
117
+ // Refund a previous payment
118
+ const refundRequest = RefundRequest.make('50', 'original-payment-reference-id', 'refund-001', 'EUR')
119
+ const refundRefId = await disbursement.refund(refundRequest)
120
+ const refund = await disbursement.getRefundStatus(refundRefId)
121
+
122
+ // Get disbursement account balance
123
+ const balance = await disbursement.getBalance()
124
+ console.log(`Balance: ${balance.getAvailableBalance()} ${balance.getCurrency()}`)
125
+ ```
126
+
127
+ ## Static factory methods
128
+
129
+ For convenience, `MomoApi` provides static factory methods that default to sandbox:
130
+
131
+ ```typescript
132
+ const collection = MomoApi.collection(config)
133
+ const disbursement = MomoApi.disbursement(config)
134
+ ```
135
+
136
+ For production or non-sandbox environments, use `MomoApi.create`:
137
+
138
+ ```typescript
139
+ import { MomoApi, ENVIRONMENT_MTN_GHANA } from 'momo-api'
140
+
141
+ const momo = MomoApi.create(ENVIRONMENT_MTN_GHANA)
142
+ const collection = momo.getCollection(config)
143
+ ```
144
+
145
+ ## Supported environments
146
+
147
+ | Constant | Value |
148
+ |-----------------------------|---------------------|
149
+ | `ENVIRONMENT_MTN_CONGO` | `mtncongo` |
150
+ | `ENVIRONMENT_MTN_UGANDA` | `mtnuganda` |
151
+ | `ENVIRONMENT_MTN_GHANA` | `mtnghana` |
152
+ | `ENVIRONMENT_IVORY_COAST` | `mtnivorycoast` |
153
+ | `ENVIRONMENT_ZAMBIA` | `mtnzambia` |
154
+ | `ENVIRONMENT_CAMEROON` | `mtncameroon` |
155
+ | `ENVIRONMENT_BENIN` | `mtnbenin` |
156
+ | `ENVIRONMENT_SWAZILAND` | `mtnswaziland` |
157
+ | `ENVIRONMENT_GUINEACONAKRY` | `mtnguineaconakry` |
158
+ | `ENVIRONMENT_SOUTHAFRICA` | `mtnsouthafrica` |
159
+ | `ENVIRONMENT_LIBERIA` | `mtnliberia` |
160
+ | `ENVIRONMENT_SANDBOX` | `sandbox` |
161
+
162
+ ## Error handling
163
+
164
+ All API errors are surfaced as typed exceptions that extend `MomoException`:
165
+
166
+ ```typescript
167
+ import {
168
+ MomoException,
169
+ BadRequestException,
170
+ InvalidSubscriptionKeyException,
171
+ ResourceNotFoundException,
172
+ ConflictException,
173
+ InternalServerErrorException,
174
+ } from 'momo-api'
175
+
176
+ try {
177
+ const referenceId = await collection.requestToPay(request)
178
+ } catch (err) {
179
+ if (err instanceof InvalidSubscriptionKeyException) {
180
+ console.error('Check your subscription key and API credentials')
181
+ } else if (err instanceof BadRequestException) {
182
+ console.error('Invalid request parameters')
183
+ } else if (err instanceof MomoException) {
184
+ console.error(`MoMo API error (${err.statusCode}):`, err.message)
185
+ }
186
+ }
187
+ ```
188
+
189
+ ## API reference
190
+
191
+ ### CollectionApi
192
+
193
+ | Method | Description |
194
+ |---|---|
195
+ | `requestToPay(request)` | Initiate a payment request; returns the reference ID |
196
+ | `getPaymentStatus(paymentId)` | Get the status of a payment |
197
+ | `getBalance()` | Get the collection account balance |
198
+ | `quickPay(amount, phone, reference, currency?)` | Shorthand to initiate a payment |
199
+ | `getAccessToken()` | Retrieve an OAuth access token |
200
+
201
+ ### DisbursementApi
202
+
203
+ | Method | Description |
204
+ |---|---|
205
+ | `deposit(request)` | Deposit funds to a customer; returns the reference ID |
206
+ | `getDepositStatus(depositId)` | Get the status of a deposit |
207
+ | `transfer(request)` | Transfer funds; returns the reference ID |
208
+ | `getTransferStatus(transferId)` | Get the status of a transfer |
209
+ | `refund(request)` | Refund a previous payment; returns the reference ID |
210
+ | `getRefundStatus(refundId)` | Get the status of a refund |
211
+ | `getBalance()` | Get the disbursement account balance |
212
+ | `getAccessToken()` | Retrieve an OAuth access token |
213
+
214
+ ### SandboxApi
215
+
216
+ | Method | Description |
217
+ |---|---|
218
+ | `createApiUser(apiUser, callbackHost)` | Provision a sandbox API user |
219
+ | `getApiUser(apiUser)` | Get sandbox API user details |
220
+ | `createApiKey(apiUser)` | Generate an API key for a sandbox user |
221
+
222
+ ## License
223
+
224
+ MIT
@@ -0,0 +1,30 @@
1
+ import { CollectionConfig, DisbursementConfig } from './models/Config.js';
2
+ import { CollectionApi } from './products/CollectionApi.js';
3
+ import { DisbursementApi } from './products/DisbursementApi.js';
4
+ import { SandboxApi } from './products/SandboxApi.js';
5
+ export declare const ENVIRONMENT_MTN_CONGO = "mtncongo";
6
+ export declare const ENVIRONMENT_MTN_UGANDA = "mtnuganda";
7
+ export declare const ENVIRONMENT_MTN_GHANA = "mtnghana";
8
+ export declare const ENVIRONMENT_IVORY_COAST = "mtnivorycoast";
9
+ export declare const ENVIRONMENT_ZAMBIA = "mtnzambia";
10
+ export declare const ENVIRONMENT_CAMEROON = "mtncameroon";
11
+ export declare const ENVIRONMENT_BENIN = "mtnbenin";
12
+ export declare const ENVIRONMENT_SWAZILAND = "mtnswaziland";
13
+ export declare const ENVIRONMENT_GUINEACONAKRY = "mtnguineaconakry";
14
+ export declare const ENVIRONMENT_SOUTHAFRICA = "mtnsouthafrica";
15
+ export declare const ENVIRONMENT_LIBERIA = "mtnliberia";
16
+ export declare const ENVIRONMENT_SANDBOX = "sandbox";
17
+ export declare const SANDBOX_URL = "https://sandbox.momodeveloper.mtn.com";
18
+ export declare const PRODUCTION_URL = "https://proxy.momoapi.mtn.com";
19
+ export declare class MomoApi {
20
+ private readonly environment;
21
+ private readonly baseUrl;
22
+ private constructor();
23
+ static create(environment: string): MomoApi;
24
+ static collection(config: CollectionConfig): CollectionApi;
25
+ static disbursement(config: DisbursementConfig): DisbursementApi;
26
+ sandbox(subscriptionKey: string): SandboxApi;
27
+ getCollection(config: CollectionConfig): CollectionApi;
28
+ getDisbursement(config: DisbursementConfig): DisbursementApi;
29
+ }
30
+ //# sourceMappingURL=MomoApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MomoApi.d.ts","sourceRoot":"","sources":["../src/MomoApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,eAAO,MAAM,qBAAqB,aAAa,CAAA;AAC/C,eAAO,MAAM,sBAAsB,cAAc,CAAA;AACjD,eAAO,MAAM,qBAAqB,aAAa,CAAA;AAC/C,eAAO,MAAM,uBAAuB,kBAAkB,CAAA;AACtD,eAAO,MAAM,kBAAkB,cAAc,CAAA;AAC7C,eAAO,MAAM,oBAAoB,gBAAgB,CAAA;AACjD,eAAO,MAAM,iBAAiB,aAAa,CAAA;AAC3C,eAAO,MAAM,qBAAqB,iBAAiB,CAAA;AACnD,eAAO,MAAM,yBAAyB,qBAAqB,CAAA;AAC3D,eAAO,MAAM,uBAAuB,mBAAmB,CAAA;AACvD,eAAO,MAAM,mBAAmB,eAAe,CAAA;AAC/C,eAAO,MAAM,mBAAmB,YAAY,CAAA;AAE5C,eAAO,MAAM,WAAW,0CAA0C,CAAA;AAClE,eAAO,MAAM,cAAc,kCAAkC,CAAA;AAE7D,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAEhC,OAAO;IAMP,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAI3C,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,aAAa;IAM1D,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,eAAe;IAMhE,OAAO,CAAC,eAAe,EAAE,MAAM,GAAG,UAAU;IAI5C,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,aAAa;IAItD,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,eAAe;CAG7D"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MomoApi = exports.PRODUCTION_URL = exports.SANDBOX_URL = exports.ENVIRONMENT_SANDBOX = exports.ENVIRONMENT_LIBERIA = exports.ENVIRONMENT_SOUTHAFRICA = exports.ENVIRONMENT_GUINEACONAKRY = exports.ENVIRONMENT_SWAZILAND = exports.ENVIRONMENT_BENIN = exports.ENVIRONMENT_CAMEROON = exports.ENVIRONMENT_ZAMBIA = exports.ENVIRONMENT_IVORY_COAST = exports.ENVIRONMENT_MTN_GHANA = exports.ENVIRONMENT_MTN_UGANDA = exports.ENVIRONMENT_MTN_CONGO = void 0;
4
+ const CollectionApi_js_1 = require("./products/CollectionApi.js");
5
+ const DisbursementApi_js_1 = require("./products/DisbursementApi.js");
6
+ const SandboxApi_js_1 = require("./products/SandboxApi.js");
7
+ exports.ENVIRONMENT_MTN_CONGO = 'mtncongo';
8
+ exports.ENVIRONMENT_MTN_UGANDA = 'mtnuganda';
9
+ exports.ENVIRONMENT_MTN_GHANA = 'mtnghana';
10
+ exports.ENVIRONMENT_IVORY_COAST = 'mtnivorycoast';
11
+ exports.ENVIRONMENT_ZAMBIA = 'mtnzambia';
12
+ exports.ENVIRONMENT_CAMEROON = 'mtncameroon';
13
+ exports.ENVIRONMENT_BENIN = 'mtnbenin';
14
+ exports.ENVIRONMENT_SWAZILAND = 'mtnswaziland';
15
+ exports.ENVIRONMENT_GUINEACONAKRY = 'mtnguineaconakry';
16
+ exports.ENVIRONMENT_SOUTHAFRICA = 'mtnsouthafrica';
17
+ exports.ENVIRONMENT_LIBERIA = 'mtnliberia';
18
+ exports.ENVIRONMENT_SANDBOX = 'sandbox';
19
+ exports.SANDBOX_URL = 'https://sandbox.momodeveloper.mtn.com';
20
+ exports.PRODUCTION_URL = 'https://proxy.momoapi.mtn.com';
21
+ class MomoApi {
22
+ environment;
23
+ baseUrl;
24
+ constructor(environment) {
25
+ this.environment = environment;
26
+ this.baseUrl =
27
+ environment === exports.ENVIRONMENT_SANDBOX ? exports.SANDBOX_URL : exports.PRODUCTION_URL;
28
+ }
29
+ static create(environment) {
30
+ return new MomoApi(environment);
31
+ }
32
+ static collection(config) {
33
+ const environment = exports.ENVIRONMENT_SANDBOX;
34
+ const baseUrl = exports.SANDBOX_URL;
35
+ return new CollectionApi_js_1.CollectionApi(config, baseUrl, environment);
36
+ }
37
+ static disbursement(config) {
38
+ const environment = exports.ENVIRONMENT_SANDBOX;
39
+ const baseUrl = exports.SANDBOX_URL;
40
+ return new DisbursementApi_js_1.DisbursementApi(config, baseUrl, environment);
41
+ }
42
+ sandbox(subscriptionKey) {
43
+ return new SandboxApi_js_1.SandboxApi(subscriptionKey, this.baseUrl);
44
+ }
45
+ getCollection(config) {
46
+ return new CollectionApi_js_1.CollectionApi(config, this.baseUrl, this.environment);
47
+ }
48
+ getDisbursement(config) {
49
+ return new DisbursementApi_js_1.DisbursementApi(config, this.baseUrl, this.environment);
50
+ }
51
+ }
52
+ exports.MomoApi = MomoApi;
53
+ //# sourceMappingURL=MomoApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MomoApi.js","sourceRoot":"","sources":["../src/MomoApi.ts"],"names":[],"mappings":";;;AACA,kEAA2D;AAC3D,sEAA+D;AAC/D,4DAAqD;AAExC,QAAA,qBAAqB,GAAG,UAAU,CAAA;AAClC,QAAA,sBAAsB,GAAG,WAAW,CAAA;AACpC,QAAA,qBAAqB,GAAG,UAAU,CAAA;AAClC,QAAA,uBAAuB,GAAG,eAAe,CAAA;AACzC,QAAA,kBAAkB,GAAG,WAAW,CAAA;AAChC,QAAA,oBAAoB,GAAG,aAAa,CAAA;AACpC,QAAA,iBAAiB,GAAG,UAAU,CAAA;AAC9B,QAAA,qBAAqB,GAAG,cAAc,CAAA;AACtC,QAAA,yBAAyB,GAAG,kBAAkB,CAAA;AAC9C,QAAA,uBAAuB,GAAG,gBAAgB,CAAA;AAC1C,QAAA,mBAAmB,GAAG,YAAY,CAAA;AAClC,QAAA,mBAAmB,GAAG,SAAS,CAAA;AAE/B,QAAA,WAAW,GAAG,uCAAuC,CAAA;AACrD,QAAA,cAAc,GAAG,+BAA+B,CAAA;AAE7D,MAAa,OAAO;IACD,WAAW,CAAQ;IACnB,OAAO,CAAQ;IAEhC,YAAoB,WAAmB;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,OAAO;YACV,WAAW,KAAK,2BAAmB,CAAC,CAAC,CAAC,mBAAW,CAAC,CAAC,CAAC,sBAAc,CAAA;IACtE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,WAAmB;QAC/B,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAwB;QACxC,MAAM,WAAW,GAAG,2BAAmB,CAAA;QACvC,MAAM,OAAO,GAAG,mBAAW,CAAA;QAC3B,OAAO,IAAI,gCAAa,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;IACxD,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,MAA0B;QAC5C,MAAM,WAAW,GAAG,2BAAmB,CAAA;QACvC,MAAM,OAAO,GAAG,mBAAW,CAAA;QAC3B,OAAO,IAAI,oCAAe,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO,CAAC,eAAuB;QAC7B,OAAO,IAAI,0BAAU,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC;IAED,aAAa,CAAC,MAAwB;QACpC,OAAO,IAAI,gCAAa,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IAClE,CAAC;IAED,eAAe,CAAC,MAA0B;QACxC,OAAO,IAAI,oCAAe,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACpE,CAAC;CACF;AArCD,0BAqCC"}
@@ -0,0 +1,21 @@
1
+ export declare class MomoException extends Error {
2
+ readonly statusCode: number;
3
+ constructor(message: string, statusCode: number);
4
+ }
5
+ export declare class BadRequestException extends MomoException {
6
+ constructor(message?: string);
7
+ }
8
+ export declare class InvalidSubscriptionKeyException extends MomoException {
9
+ constructor(message?: string);
10
+ }
11
+ export declare class ResourceNotFoundException extends MomoException {
12
+ constructor(message?: string);
13
+ }
14
+ export declare class ConflictException extends MomoException {
15
+ constructor(message?: string);
16
+ }
17
+ export declare class InternalServerErrorException extends MomoException {
18
+ constructor(message?: string);
19
+ }
20
+ export declare function createException(status: number, message?: string): MomoException;
21
+ //# sourceMappingURL=MomoException.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MomoException.d.ts","sourceRoot":"","sources":["../../src/exceptions/MomoException.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;gBAEf,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAMhD;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBACxC,OAAO,GAAE,MAAsB;CAI5C;AAED,qBAAa,+BAAgC,SAAQ,aAAa;gBACpD,OAAO,GAAE,MAAmC;CAIzD;AAED,qBAAa,yBAA0B,SAAQ,aAAa;gBAC9C,OAAO,GAAE,MAA6B;CAInD;AAED,qBAAa,iBAAkB,SAAQ,aAAa;gBACtC,OAAO,GAAE,MAAmB;CAIzC;AAED,qBAAa,4BAA6B,SAAQ,aAAa;gBACjD,OAAO,GAAE,MAAgC;CAItD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAe/E"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InternalServerErrorException = exports.ConflictException = exports.ResourceNotFoundException = exports.InvalidSubscriptionKeyException = exports.BadRequestException = exports.MomoException = void 0;
4
+ exports.createException = createException;
5
+ class MomoException extends Error {
6
+ statusCode;
7
+ constructor(message, statusCode) {
8
+ super(message);
9
+ this.name = 'MomoException';
10
+ this.statusCode = statusCode;
11
+ Object.setPrototypeOf(this, new.target.prototype);
12
+ }
13
+ }
14
+ exports.MomoException = MomoException;
15
+ class BadRequestException extends MomoException {
16
+ constructor(message = 'Bad request') {
17
+ super(message, 400);
18
+ this.name = 'BadRequestException';
19
+ }
20
+ }
21
+ exports.BadRequestException = BadRequestException;
22
+ class InvalidSubscriptionKeyException extends MomoException {
23
+ constructor(message = 'Invalid subscription key') {
24
+ super(message, 401);
25
+ this.name = 'InvalidSubscriptionKeyException';
26
+ }
27
+ }
28
+ exports.InvalidSubscriptionKeyException = InvalidSubscriptionKeyException;
29
+ class ResourceNotFoundException extends MomoException {
30
+ constructor(message = 'Resource not found') {
31
+ super(message, 404);
32
+ this.name = 'ResourceNotFoundException';
33
+ }
34
+ }
35
+ exports.ResourceNotFoundException = ResourceNotFoundException;
36
+ class ConflictException extends MomoException {
37
+ constructor(message = 'Conflict') {
38
+ super(message, 409);
39
+ this.name = 'ConflictException';
40
+ }
41
+ }
42
+ exports.ConflictException = ConflictException;
43
+ class InternalServerErrorException extends MomoException {
44
+ constructor(message = 'Internal server error') {
45
+ super(message, 500);
46
+ this.name = 'InternalServerErrorException';
47
+ }
48
+ }
49
+ exports.InternalServerErrorException = InternalServerErrorException;
50
+ function createException(status, message) {
51
+ switch (status) {
52
+ case 400:
53
+ return new BadRequestException(message);
54
+ case 401:
55
+ return new InvalidSubscriptionKeyException(message);
56
+ case 404:
57
+ return new ResourceNotFoundException(message);
58
+ case 409:
59
+ return new ConflictException(message);
60
+ case 500:
61
+ return new InternalServerErrorException(message);
62
+ default:
63
+ return new MomoException(message ?? `HTTP error ${status}`, status);
64
+ }
65
+ }
66
+ //# sourceMappingURL=MomoException.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MomoException.js","sourceRoot":"","sources":["../../src/exceptions/MomoException.ts"],"names":[],"mappings":";;;AA8CA,0CAeC;AA7DD,MAAa,aAAc,SAAQ,KAAK;IAC7B,UAAU,CAAQ;IAE3B,YAAY,OAAe,EAAE,UAAkB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACnD,CAAC;CACF;AATD,sCASC;AAED,MAAa,mBAAoB,SAAQ,aAAa;IACpD,YAAY,UAAkB,aAAa;QACzC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACnB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF;AALD,kDAKC;AAED,MAAa,+BAAgC,SAAQ,aAAa;IAChE,YAAY,UAAkB,0BAA0B;QACtD,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACnB,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAA;IAC/C,CAAC;CACF;AALD,0EAKC;AAED,MAAa,yBAA0B,SAAQ,aAAa;IAC1D,YAAY,UAAkB,oBAAoB;QAChD,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACnB,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAA;IACzC,CAAC;CACF;AALD,8DAKC;AAED,MAAa,iBAAkB,SAAQ,aAAa;IAClD,YAAY,UAAkB,UAAU;QACtC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACnB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AALD,8CAKC;AAED,MAAa,4BAA6B,SAAQ,aAAa;IAC7D,YAAY,UAAkB,uBAAuB;QACnD,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACnB,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAA;IAC5C,CAAC;CACF;AALD,oEAKC;AAED,SAAgB,eAAe,CAAC,MAAc,EAAE,OAAgB;IAC9D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,GAAG;YACN,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAA;QACzC,KAAK,GAAG;YACN,OAAO,IAAI,+BAA+B,CAAC,OAAO,CAAC,CAAA;QACrD,KAAK,GAAG;YACN,OAAO,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAA;QAC/C,KAAK,GAAG;YACN,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAA;QACvC,KAAK,GAAG;YACN,OAAO,IAAI,4BAA4B,CAAC,OAAO,CAAC,CAAA;QAClD;YACE,OAAO,IAAI,aAAa,CAAC,OAAO,IAAI,cAAc,MAAM,EAAE,EAAE,MAAM,CAAC,CAAA;IACvE,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ export { MomoApi, ENVIRONMENT_MTN_CONGO, ENVIRONMENT_MTN_UGANDA, ENVIRONMENT_MTN_GHANA, ENVIRONMENT_IVORY_COAST, ENVIRONMENT_ZAMBIA, ENVIRONMENT_CAMEROON, ENVIRONMENT_BENIN, ENVIRONMENT_SWAZILAND, ENVIRONMENT_GUINEACONAKRY, ENVIRONMENT_SOUTHAFRICA, ENVIRONMENT_LIBERIA, ENVIRONMENT_SANDBOX, SANDBOX_URL, PRODUCTION_URL, } from './MomoApi.js';
2
+ export { CollectionApi } from './products/CollectionApi.js';
3
+ export { DisbursementApi } from './products/DisbursementApi.js';
4
+ export { SandboxApi } from './products/SandboxApi.js';
5
+ export { Config } from './models/Config.js';
6
+ export type { CollectionConfig, DisbursementConfig } from './models/Config.js';
7
+ export { ApiToken } from './models/ApiToken.js';
8
+ export { AccountBalance } from './models/AccountBalance.js';
9
+ export { Transaction } from './models/Transaction.js';
10
+ export type { TransactionStatus } from './models/Transaction.js';
11
+ export { PaymentRequest } from './models/PaymentRequest.js';
12
+ export { TransferRequest } from './models/TransferRequest.js';
13
+ export { RefundRequest } from './models/RefundRequest.js';
14
+ export { MomoException, BadRequestException, InvalidSubscriptionKeyException, ResourceNotFoundException, ConflictException, InternalServerErrorException, createException, } from './exceptions/MomoException.js';
15
+ export { generateUUID } from './support/uuid.js';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,cAAc,GACf,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAGrD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAGzD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,+BAA+B,EAC/B,yBAAyB,EACzB,iBAAiB,EACjB,4BAA4B,EAC5B,eAAe,GAChB,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateUUID = exports.createException = exports.InternalServerErrorException = exports.ConflictException = exports.ResourceNotFoundException = exports.InvalidSubscriptionKeyException = exports.BadRequestException = exports.MomoException = exports.RefundRequest = exports.TransferRequest = exports.PaymentRequest = exports.Transaction = exports.AccountBalance = exports.ApiToken = exports.Config = exports.SandboxApi = exports.DisbursementApi = exports.CollectionApi = exports.PRODUCTION_URL = exports.SANDBOX_URL = exports.ENVIRONMENT_SANDBOX = exports.ENVIRONMENT_LIBERIA = exports.ENVIRONMENT_SOUTHAFRICA = exports.ENVIRONMENT_GUINEACONAKRY = exports.ENVIRONMENT_SWAZILAND = exports.ENVIRONMENT_BENIN = exports.ENVIRONMENT_CAMEROON = exports.ENVIRONMENT_ZAMBIA = exports.ENVIRONMENT_IVORY_COAST = exports.ENVIRONMENT_MTN_GHANA = exports.ENVIRONMENT_MTN_UGANDA = exports.ENVIRONMENT_MTN_CONGO = exports.MomoApi = void 0;
4
+ // Main entry point
5
+ var MomoApi_js_1 = require("./MomoApi.js");
6
+ Object.defineProperty(exports, "MomoApi", { enumerable: true, get: function () { return MomoApi_js_1.MomoApi; } });
7
+ Object.defineProperty(exports, "ENVIRONMENT_MTN_CONGO", { enumerable: true, get: function () { return MomoApi_js_1.ENVIRONMENT_MTN_CONGO; } });
8
+ Object.defineProperty(exports, "ENVIRONMENT_MTN_UGANDA", { enumerable: true, get: function () { return MomoApi_js_1.ENVIRONMENT_MTN_UGANDA; } });
9
+ Object.defineProperty(exports, "ENVIRONMENT_MTN_GHANA", { enumerable: true, get: function () { return MomoApi_js_1.ENVIRONMENT_MTN_GHANA; } });
10
+ Object.defineProperty(exports, "ENVIRONMENT_IVORY_COAST", { enumerable: true, get: function () { return MomoApi_js_1.ENVIRONMENT_IVORY_COAST; } });
11
+ Object.defineProperty(exports, "ENVIRONMENT_ZAMBIA", { enumerable: true, get: function () { return MomoApi_js_1.ENVIRONMENT_ZAMBIA; } });
12
+ Object.defineProperty(exports, "ENVIRONMENT_CAMEROON", { enumerable: true, get: function () { return MomoApi_js_1.ENVIRONMENT_CAMEROON; } });
13
+ Object.defineProperty(exports, "ENVIRONMENT_BENIN", { enumerable: true, get: function () { return MomoApi_js_1.ENVIRONMENT_BENIN; } });
14
+ Object.defineProperty(exports, "ENVIRONMENT_SWAZILAND", { enumerable: true, get: function () { return MomoApi_js_1.ENVIRONMENT_SWAZILAND; } });
15
+ Object.defineProperty(exports, "ENVIRONMENT_GUINEACONAKRY", { enumerable: true, get: function () { return MomoApi_js_1.ENVIRONMENT_GUINEACONAKRY; } });
16
+ Object.defineProperty(exports, "ENVIRONMENT_SOUTHAFRICA", { enumerable: true, get: function () { return MomoApi_js_1.ENVIRONMENT_SOUTHAFRICA; } });
17
+ Object.defineProperty(exports, "ENVIRONMENT_LIBERIA", { enumerable: true, get: function () { return MomoApi_js_1.ENVIRONMENT_LIBERIA; } });
18
+ Object.defineProperty(exports, "ENVIRONMENT_SANDBOX", { enumerable: true, get: function () { return MomoApi_js_1.ENVIRONMENT_SANDBOX; } });
19
+ Object.defineProperty(exports, "SANDBOX_URL", { enumerable: true, get: function () { return MomoApi_js_1.SANDBOX_URL; } });
20
+ Object.defineProperty(exports, "PRODUCTION_URL", { enumerable: true, get: function () { return MomoApi_js_1.PRODUCTION_URL; } });
21
+ // Products
22
+ var CollectionApi_js_1 = require("./products/CollectionApi.js");
23
+ Object.defineProperty(exports, "CollectionApi", { enumerable: true, get: function () { return CollectionApi_js_1.CollectionApi; } });
24
+ var DisbursementApi_js_1 = require("./products/DisbursementApi.js");
25
+ Object.defineProperty(exports, "DisbursementApi", { enumerable: true, get: function () { return DisbursementApi_js_1.DisbursementApi; } });
26
+ var SandboxApi_js_1 = require("./products/SandboxApi.js");
27
+ Object.defineProperty(exports, "SandboxApi", { enumerable: true, get: function () { return SandboxApi_js_1.SandboxApi; } });
28
+ // Models
29
+ var Config_js_1 = require("./models/Config.js");
30
+ Object.defineProperty(exports, "Config", { enumerable: true, get: function () { return Config_js_1.Config; } });
31
+ var ApiToken_js_1 = require("./models/ApiToken.js");
32
+ Object.defineProperty(exports, "ApiToken", { enumerable: true, get: function () { return ApiToken_js_1.ApiToken; } });
33
+ var AccountBalance_js_1 = require("./models/AccountBalance.js");
34
+ Object.defineProperty(exports, "AccountBalance", { enumerable: true, get: function () { return AccountBalance_js_1.AccountBalance; } });
35
+ var Transaction_js_1 = require("./models/Transaction.js");
36
+ Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return Transaction_js_1.Transaction; } });
37
+ var PaymentRequest_js_1 = require("./models/PaymentRequest.js");
38
+ Object.defineProperty(exports, "PaymentRequest", { enumerable: true, get: function () { return PaymentRequest_js_1.PaymentRequest; } });
39
+ var TransferRequest_js_1 = require("./models/TransferRequest.js");
40
+ Object.defineProperty(exports, "TransferRequest", { enumerable: true, get: function () { return TransferRequest_js_1.TransferRequest; } });
41
+ var RefundRequest_js_1 = require("./models/RefundRequest.js");
42
+ Object.defineProperty(exports, "RefundRequest", { enumerable: true, get: function () { return RefundRequest_js_1.RefundRequest; } });
43
+ // Exceptions
44
+ var MomoException_js_1 = require("./exceptions/MomoException.js");
45
+ Object.defineProperty(exports, "MomoException", { enumerable: true, get: function () { return MomoException_js_1.MomoException; } });
46
+ Object.defineProperty(exports, "BadRequestException", { enumerable: true, get: function () { return MomoException_js_1.BadRequestException; } });
47
+ Object.defineProperty(exports, "InvalidSubscriptionKeyException", { enumerable: true, get: function () { return MomoException_js_1.InvalidSubscriptionKeyException; } });
48
+ Object.defineProperty(exports, "ResourceNotFoundException", { enumerable: true, get: function () { return MomoException_js_1.ResourceNotFoundException; } });
49
+ Object.defineProperty(exports, "ConflictException", { enumerable: true, get: function () { return MomoException_js_1.ConflictException; } });
50
+ Object.defineProperty(exports, "InternalServerErrorException", { enumerable: true, get: function () { return MomoException_js_1.InternalServerErrorException; } });
51
+ Object.defineProperty(exports, "createException", { enumerable: true, get: function () { return MomoException_js_1.createException; } });
52
+ // Support
53
+ var uuid_js_1 = require("./support/uuid.js");
54
+ Object.defineProperty(exports, "generateUUID", { enumerable: true, get: function () { return uuid_js_1.generateUUID; } });
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mBAAmB;AACnB,2CAgBqB;AAfnB,qGAAA,OAAO,OAAA;AACP,mHAAA,qBAAqB,OAAA;AACrB,oHAAA,sBAAsB,OAAA;AACtB,mHAAA,qBAAqB,OAAA;AACrB,qHAAA,uBAAuB,OAAA;AACvB,gHAAA,kBAAkB,OAAA;AAClB,kHAAA,oBAAoB,OAAA;AACpB,+GAAA,iBAAiB,OAAA;AACjB,mHAAA,qBAAqB,OAAA;AACrB,uHAAA,yBAAyB,OAAA;AACzB,qHAAA,uBAAuB,OAAA;AACvB,iHAAA,mBAAmB,OAAA;AACnB,iHAAA,mBAAmB,OAAA;AACnB,yGAAA,WAAW,OAAA;AACX,4GAAA,cAAc,OAAA;AAGhB,WAAW;AACX,gEAA2D;AAAlD,iHAAA,aAAa,OAAA;AACtB,oEAA+D;AAAtD,qHAAA,eAAe,OAAA;AACxB,0DAAqD;AAA5C,2GAAA,UAAU,OAAA;AAEnB,SAAS;AACT,gDAA2C;AAAlC,mGAAA,MAAM,OAAA;AAEf,oDAA+C;AAAtC,uGAAA,QAAQ,OAAA;AACjB,gEAA2D;AAAlD,mHAAA,cAAc,OAAA;AACvB,0DAAqD;AAA5C,6GAAA,WAAW,OAAA;AAEpB,gEAA2D;AAAlD,mHAAA,cAAc,OAAA;AACvB,kEAA6D;AAApD,qHAAA,eAAe,OAAA;AACxB,8DAAyD;AAAhD,iHAAA,aAAa,OAAA;AAEtB,aAAa;AACb,kEAQsC;AAPpC,iHAAA,aAAa,OAAA;AACb,uHAAA,mBAAmB,OAAA;AACnB,mIAAA,+BAA+B,OAAA;AAC/B,6HAAA,yBAAyB,OAAA;AACzB,qHAAA,iBAAiB,OAAA;AACjB,gIAAA,4BAA4B,OAAA;AAC5B,mHAAA,eAAe,OAAA;AAGjB,UAAU;AACV,6CAAgD;AAAvC,uGAAA,YAAY,OAAA"}
@@ -0,0 +1,9 @@
1
+ export declare class AccountBalance {
2
+ private readonly availableBalance;
3
+ private readonly currency;
4
+ private constructor();
5
+ static parse(data: Record<string, unknown>): AccountBalance;
6
+ getAvailableBalance(): string;
7
+ getCurrency(): string;
8
+ }
9
+ //# sourceMappingURL=AccountBalance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountBalance.d.ts","sourceRoot":"","sources":["../../src/models/AccountBalance.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IAEjC,OAAO;IAKP,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc;IAO3D,mBAAmB,IAAI,MAAM;IAI7B,WAAW,IAAI,MAAM;CAGtB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AccountBalance = void 0;
4
+ class AccountBalance {
5
+ availableBalance;
6
+ currency;
7
+ constructor(availableBalance, currency) {
8
+ this.availableBalance = availableBalance;
9
+ this.currency = currency;
10
+ }
11
+ static parse(data) {
12
+ return new AccountBalance(data['availableBalance'], data['currency']);
13
+ }
14
+ getAvailableBalance() {
15
+ return this.availableBalance;
16
+ }
17
+ getCurrency() {
18
+ return this.currency;
19
+ }
20
+ }
21
+ exports.AccountBalance = AccountBalance;
22
+ //# sourceMappingURL=AccountBalance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountBalance.js","sourceRoot":"","sources":["../../src/models/AccountBalance.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IACR,gBAAgB,CAAQ;IACxB,QAAQ,CAAQ;IAEjC,YAAoB,gBAAwB,EAAE,QAAgB;QAC5D,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAA6B;QACxC,OAAO,IAAI,cAAc,CACvB,IAAI,CAAC,kBAAkB,CAAW,EAClC,IAAI,CAAC,UAAU,CAAW,CAC3B,CAAA;IACH,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;CACF;AAvBD,wCAuBC"}
@@ -0,0 +1,16 @@
1
+ export interface ApiTokenData {
2
+ access_token: string;
3
+ token_type: string;
4
+ expires_in: number;
5
+ }
6
+ export declare class ApiToken {
7
+ private readonly accessToken;
8
+ private readonly tokenType;
9
+ private readonly expiresIn;
10
+ private constructor();
11
+ static fromObject(data: Record<string, unknown>): ApiToken;
12
+ getAccessToken(): string;
13
+ getTokenType(): string;
14
+ getExpiresIn(): number;
15
+ }
16
+ //# sourceMappingURL=ApiToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiToken.d.ts","sourceRoot":"","sources":["../../src/models/ApiToken.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAElC,OAAO;IAMP,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IAQ1D,cAAc,IAAI,MAAM;IAIxB,YAAY,IAAI,MAAM;IAItB,YAAY,IAAI,MAAM;CAGvB"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiToken = void 0;
4
+ class ApiToken {
5
+ accessToken;
6
+ tokenType;
7
+ expiresIn;
8
+ constructor(accessToken, tokenType, expiresIn) {
9
+ this.accessToken = accessToken;
10
+ this.tokenType = tokenType;
11
+ this.expiresIn = expiresIn;
12
+ }
13
+ static fromObject(data) {
14
+ return new ApiToken(data['access_token'], data['token_type'], data['expires_in']);
15
+ }
16
+ getAccessToken() {
17
+ return this.accessToken;
18
+ }
19
+ getTokenType() {
20
+ return this.tokenType;
21
+ }
22
+ getExpiresIn() {
23
+ return this.expiresIn;
24
+ }
25
+ }
26
+ exports.ApiToken = ApiToken;
27
+ //# sourceMappingURL=ApiToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiToken.js","sourceRoot":"","sources":["../../src/models/ApiToken.ts"],"names":[],"mappings":";;;AAMA,MAAa,QAAQ;IACF,WAAW,CAAQ;IACnB,SAAS,CAAQ;IACjB,SAAS,CAAQ;IAElC,YAAoB,WAAmB,EAAE,SAAiB,EAAE,SAAiB;QAC3E,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,IAA6B;QAC7C,OAAO,IAAI,QAAQ,CACjB,IAAI,CAAC,cAAc,CAAW,EAC9B,IAAI,CAAC,YAAY,CAAW,EAC5B,IAAI,CAAC,YAAY,CAAW,CAC7B,CAAA;IACH,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;CACF;AA9BD,4BA8BC"}
@@ -0,0 +1,19 @@
1
+ export interface ConfigOptions {
2
+ subscriptionKey: string;
3
+ apiUser: string;
4
+ apiKey: string;
5
+ callbackUri: string;
6
+ }
7
+ export declare class Config {
8
+ readonly subscriptionKey: string;
9
+ readonly apiUser: string;
10
+ readonly apiKey: string;
11
+ readonly callbackUri: string;
12
+ constructor(options: ConfigOptions);
13
+ static sandbox(subscriptionKey: string): Config;
14
+ static collection(subscriptionKey: string, apiUser: string, apiKey: string, callbackUri: string): Config;
15
+ static disbursement(subscriptionKey: string, apiUser: string, apiKey: string, callbackUri: string): Config;
16
+ }
17
+ export type CollectionConfig = Config;
18
+ export type DisbursementConfig = Config;
19
+ //# sourceMappingURL=Config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/models/Config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,MAAM;IACjB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;gBAEhB,OAAO,EAAE,aAAa;IAOlC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAS/C,MAAM,CAAC,UAAU,CACf,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,MAAM;IAIT,MAAM,CAAC,YAAY,CACjB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,MAAM;CAGV;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAA;AACrC,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAA"}