nestjs-monobank 1.2.8

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 (250) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +18 -0
  3. package/dist/common/enums/discount.enum.d.ts +24 -0
  4. package/dist/common/enums/discount.enum.js +2 -0
  5. package/dist/common/enums/index.d.ts +1 -0
  6. package/dist/common/enums/index.js +17 -0
  7. package/dist/common/interfaces/common.interface.d.ts +177 -0
  8. package/dist/common/interfaces/common.interface.js +2 -0
  9. package/dist/common/interfaces/index.d.ts +2 -0
  10. package/dist/common/interfaces/index.js +18 -0
  11. package/dist/common/interfaces/monobank-options.interface.d.ts +15 -0
  12. package/dist/common/interfaces/monobank-options.interface.js +4 -0
  13. package/dist/core/config/monobank.constants.d.ts +1 -0
  14. package/dist/core/config/monobank.constants.js +4 -0
  15. package/dist/core/http/monobank.error.d.ts +6 -0
  16. package/dist/core/http/monobank.error.js +13 -0
  17. package/dist/core/http/monobank.http-client.d.ts +16 -0
  18. package/dist/core/http/monobank.http-client.js +66 -0
  19. package/dist/core/http/monobank.interceptor.d.ts +2 -0
  20. package/dist/core/http/monobank.interceptor.js +19 -0
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.js +19 -0
  23. package/dist/modules/invoice/enums/cancel-status.enum.d.ts +18 -0
  24. package/dist/modules/invoice/enums/cancel-status.enum.js +22 -0
  25. package/dist/modules/invoice/enums/charge-status.enum.d.ts +14 -0
  26. package/dist/modules/invoice/enums/charge-status.enum.js +18 -0
  27. package/dist/modules/invoice/enums/index.d.ts +3 -0
  28. package/dist/modules/invoice/enums/index.js +19 -0
  29. package/dist/modules/invoice/enums/invoice-status.enum.d.ts +34 -0
  30. package/dist/modules/invoice/enums/invoice-status.enum.js +38 -0
  31. package/dist/modules/invoice/interfaces/index.d.ts +2 -0
  32. package/dist/modules/invoice/interfaces/index.js +18 -0
  33. package/dist/modules/invoice/interfaces/requests/create-cancel.request.d.ts +22 -0
  34. package/dist/modules/invoice/interfaces/requests/create-cancel.request.js +2 -0
  35. package/dist/modules/invoice/interfaces/requests/create-charge.request.d.ts +42 -0
  36. package/dist/modules/invoice/interfaces/requests/create-charge.request.js +2 -0
  37. package/dist/modules/invoice/interfaces/requests/create-finalize.request.d.ts +19 -0
  38. package/dist/modules/invoice/interfaces/requests/create-finalize.request.js +2 -0
  39. package/dist/modules/invoice/interfaces/requests/create-invoice.request.d.ts +88 -0
  40. package/dist/modules/invoice/interfaces/requests/create-invoice.request.js +2 -0
  41. package/dist/modules/invoice/interfaces/requests/index.d.ts +4 -0
  42. package/dist/modules/invoice/interfaces/requests/index.js +20 -0
  43. package/dist/modules/invoice/interfaces/responses/cancel.response.d.ts +18 -0
  44. package/dist/modules/invoice/interfaces/responses/cancel.response.js +2 -0
  45. package/dist/modules/invoice/interfaces/responses/charge.response.d.ts +35 -0
  46. package/dist/modules/invoice/interfaces/responses/charge.response.js +2 -0
  47. package/dist/modules/invoice/interfaces/responses/create-cancel.response.d.ts +7 -0
  48. package/dist/modules/invoice/interfaces/responses/create-cancel.response.js +2 -0
  49. package/dist/modules/invoice/interfaces/responses/create-charge.response.d.ts +7 -0
  50. package/dist/modules/invoice/interfaces/responses/create-charge.response.js +2 -0
  51. package/dist/modules/invoice/interfaces/responses/create-finalize.response.d.ts +7 -0
  52. package/dist/modules/invoice/interfaces/responses/create-finalize.response.js +2 -0
  53. package/dist/modules/invoice/interfaces/responses/create-invoice.response.d.ts +7 -0
  54. package/dist/modules/invoice/interfaces/responses/create-invoice.response.js +2 -0
  55. package/dist/modules/invoice/interfaces/responses/finalize.response.d.ts +9 -0
  56. package/dist/modules/invoice/interfaces/responses/finalize.response.js +2 -0
  57. package/dist/modules/invoice/interfaces/responses/fiscal-checks.response.d.ts +42 -0
  58. package/dist/modules/invoice/interfaces/responses/fiscal-checks.response.js +2 -0
  59. package/dist/modules/invoice/interfaces/responses/index.d.ts +9 -0
  60. package/dist/modules/invoice/interfaces/responses/index.js +25 -0
  61. package/dist/modules/invoice/interfaces/responses/invoice-status.response.d.ts +116 -0
  62. package/dist/modules/invoice/interfaces/responses/invoice-status.response.js +2 -0
  63. package/dist/modules/invoice/interfaces/responses/invoice.response.d.ts +13 -0
  64. package/dist/modules/invoice/interfaces/responses/invoice.response.js +2 -0
  65. package/dist/modules/invoice/interfaces/responses/receipt.response.d.ts +6 -0
  66. package/dist/modules/invoice/interfaces/responses/receipt.response.js +2 -0
  67. package/dist/modules/invoice/invoice.module.d.ts +2 -0
  68. package/dist/modules/invoice/invoice.module.js +20 -0
  69. package/dist/modules/invoice/invoice.service.d.ts +154 -0
  70. package/dist/modules/invoice/invoice.service.js +187 -0
  71. package/dist/modules/merchant/interfaces/index.d.ts +1 -0
  72. package/dist/modules/merchant/interfaces/index.js +17 -0
  73. package/dist/modules/merchant/interfaces/responses/index.d.ts +2 -0
  74. package/dist/modules/merchant/interfaces/responses/index.js +18 -0
  75. package/dist/modules/merchant/interfaces/responses/merchant.response.d.ts +17 -0
  76. package/dist/modules/merchant/interfaces/responses/merchant.response.js +2 -0
  77. package/dist/modules/merchant/interfaces/responses/pubkey.response.d.ts +10 -0
  78. package/dist/modules/merchant/interfaces/responses/pubkey.response.js +2 -0
  79. package/dist/modules/merchant/merchant.module.d.ts +2 -0
  80. package/dist/modules/merchant/merchant.module.js +20 -0
  81. package/dist/modules/merchant/merchant.service.d.ts +36 -0
  82. package/dist/modules/merchant/merchant.service.js +58 -0
  83. package/dist/modules/qr/enums/amount-type.enum.d.ts +11 -0
  84. package/dist/modules/qr/enums/amount-type.enum.js +15 -0
  85. package/dist/modules/qr/enums/index.d.ts +1 -0
  86. package/dist/modules/qr/enums/index.js +17 -0
  87. package/dist/modules/qr/interfaces/index.d.ts +0 -0
  88. package/dist/modules/qr/interfaces/index.js +0 -0
  89. package/dist/modules/qr/interfaces/responses/index.d.ts +2 -0
  90. package/dist/modules/qr/interfaces/responses/index.js +18 -0
  91. package/dist/modules/qr/interfaces/responses/list.response.d.ts +8 -0
  92. package/dist/modules/qr/interfaces/responses/list.response.js +2 -0
  93. package/dist/modules/qr/interfaces/responses/qr.response.d.ts +14 -0
  94. package/dist/modules/qr/interfaces/responses/qr.response.js +2 -0
  95. package/dist/modules/qr/qr.module.d.ts +2 -0
  96. package/dist/modules/qr/qr.module.js +20 -0
  97. package/dist/modules/qr/qr.service.d.ts +32 -0
  98. package/dist/modules/qr/qr.service.js +56 -0
  99. package/dist/modules/statement/interfaces/index.d.ts +1 -0
  100. package/dist/modules/statement/interfaces/index.js +17 -0
  101. package/dist/modules/statement/interfaces/responses/index.d.ts +1 -0
  102. package/dist/modules/statement/interfaces/responses/index.js +17 -0
  103. package/dist/modules/statement/interfaces/responses/statement.response.d.ts +99 -0
  104. package/dist/modules/statement/interfaces/responses/statement.response.js +2 -0
  105. package/dist/modules/statement/statement.module.d.ts +2 -0
  106. package/dist/modules/statement/statement.module.js +20 -0
  107. package/dist/modules/statement/statement.service.d.ts +17 -0
  108. package/dist/modules/statement/statement.service.js +38 -0
  109. package/dist/modules/subscription/enums/index.d.ts +2 -0
  110. package/dist/modules/subscription/enums/index.js +18 -0
  111. package/dist/modules/subscription/enums/subscription-status.enum.d.ts +13 -0
  112. package/dist/modules/subscription/enums/subscription-status.enum.js +17 -0
  113. package/dist/modules/subscription/enums/wallet-status.enum.d.ts +17 -0
  114. package/dist/modules/subscription/enums/wallet-status.enum.js +21 -0
  115. package/dist/modules/subscription/interfaces/index.d.ts +2 -0
  116. package/dist/modules/subscription/interfaces/index.js +18 -0
  117. package/dist/modules/subscription/interfaces/requests/client-subscriptions.request.d.ts +26 -0
  118. package/dist/modules/subscription/interfaces/requests/client-subscriptions.request.js +2 -0
  119. package/dist/modules/subscription/interfaces/requests/create-subscription.request.d.ts +32 -0
  120. package/dist/modules/subscription/interfaces/requests/create-subscription.request.js +2 -0
  121. package/dist/modules/subscription/interfaces/requests/edit-subscription.request.d.ts +18 -0
  122. package/dist/modules/subscription/interfaces/requests/edit-subscription.request.js +2 -0
  123. package/dist/modules/subscription/interfaces/requests/history.request.d.ts +15 -0
  124. package/dist/modules/subscription/interfaces/requests/history.request.js +2 -0
  125. package/dist/modules/subscription/interfaces/requests/index.d.ts +4 -0
  126. package/dist/modules/subscription/interfaces/requests/index.js +20 -0
  127. package/dist/modules/subscription/interfaces/responses/client-subscriptions.response.d.ts +27 -0
  128. package/dist/modules/subscription/interfaces/responses/client-subscriptions.response.js +2 -0
  129. package/dist/modules/subscription/interfaces/responses/create-subscription.response.d.ts +5 -0
  130. package/dist/modules/subscription/interfaces/responses/create-subscription.response.js +2 -0
  131. package/dist/modules/subscription/interfaces/responses/history.response.d.ts +9 -0
  132. package/dist/modules/subscription/interfaces/responses/history.response.js +2 -0
  133. package/dist/modules/subscription/interfaces/responses/index.d.ts +5 -0
  134. package/dist/modules/subscription/interfaces/responses/index.js +21 -0
  135. package/dist/modules/subscription/interfaces/responses/subscription-status.response.d.ts +29 -0
  136. package/dist/modules/subscription/interfaces/responses/subscription-status.response.js +2 -0
  137. package/dist/modules/subscription/interfaces/responses/subscription.response.d.ts +9 -0
  138. package/dist/modules/subscription/interfaces/responses/subscription.response.js +2 -0
  139. package/dist/modules/subscription/subscription.module.d.ts +2 -0
  140. package/dist/modules/subscription/subscription.module.js +20 -0
  141. package/dist/modules/subscription/subscription.service.d.ts +91 -0
  142. package/dist/modules/subscription/subscription.service.js +121 -0
  143. package/dist/modules/wallet/interfaces/index.d.ts +2 -0
  144. package/dist/modules/wallet/interfaces/index.js +18 -0
  145. package/dist/modules/wallet/interfaces/requests/create-card-token.request.d.ts +42 -0
  146. package/dist/modules/wallet/interfaces/requests/create-card-token.request.js +2 -0
  147. package/dist/modules/wallet/interfaces/requests/index.d.ts +1 -0
  148. package/dist/modules/wallet/interfaces/requests/index.js +17 -0
  149. package/dist/modules/wallet/interfaces/responses/card-token.response.d.ts +37 -0
  150. package/dist/modules/wallet/interfaces/responses/card-token.response.js +2 -0
  151. package/dist/modules/wallet/interfaces/responses/create-card-token.response.d.ts +7 -0
  152. package/dist/modules/wallet/interfaces/responses/create-card-token.response.js +2 -0
  153. package/dist/modules/wallet/interfaces/responses/index.d.ts +2 -0
  154. package/dist/modules/wallet/interfaces/responses/index.js +18 -0
  155. package/dist/modules/wallet/wallet.module.d.ts +2 -0
  156. package/dist/modules/wallet/wallet.module.js +20 -0
  157. package/dist/modules/wallet/wallet.service.d.ts +54 -0
  158. package/dist/modules/wallet/wallet.service.js +78 -0
  159. package/dist/modules/webhook/webhook.module.d.ts +2 -0
  160. package/dist/modules/webhook/webhook.module.js +24 -0
  161. package/dist/modules/webhook/webhook.service.d.ts +44 -0
  162. package/dist/modules/webhook/webhook.service.js +72 -0
  163. package/dist/monobank.module.d.ts +36 -0
  164. package/dist/monobank.module.js +117 -0
  165. package/dist/monobank.service.d.ts +17 -0
  166. package/dist/monobank.service.js +42 -0
  167. package/package.json +68 -0
  168. package/src/common/enums/discount.enum.ts +26 -0
  169. package/src/common/enums/index.ts +1 -0
  170. package/src/common/interfaces/common.interface.ts +206 -0
  171. package/src/common/interfaces/index.ts +2 -0
  172. package/src/common/interfaces/monobank-options.interface.ts +18 -0
  173. package/src/core/config/monobank.constants.ts +1 -0
  174. package/src/core/http/monobank.error.ts +10 -0
  175. package/src/core/http/monobank.http-client.ts +66 -0
  176. package/src/core/http/monobank.interceptor.ts +24 -0
  177. package/src/index.ts +3 -0
  178. package/src/modules/invoice/enums/cancel-status.enum.ts +20 -0
  179. package/src/modules/invoice/enums/charge-status.enum.ts +16 -0
  180. package/src/modules/invoice/enums/index.ts +3 -0
  181. package/src/modules/invoice/enums/invoice-status.enum.ts +40 -0
  182. package/src/modules/invoice/interfaces/index.ts +2 -0
  183. package/src/modules/invoice/interfaces/requests/create-cancel.request.ts +26 -0
  184. package/src/modules/invoice/interfaces/requests/create-charge.request.ts +52 -0
  185. package/src/modules/invoice/interfaces/requests/create-finalize.request.ts +22 -0
  186. package/src/modules/invoice/interfaces/requests/create-invoice.request.ts +103 -0
  187. package/src/modules/invoice/interfaces/requests/index.ts +4 -0
  188. package/src/modules/invoice/interfaces/responses/cancel.response.ts +21 -0
  189. package/src/modules/invoice/interfaces/responses/charge.response.ts +43 -0
  190. package/src/modules/invoice/interfaces/responses/create-cancel.response.ts +7 -0
  191. package/src/modules/invoice/interfaces/responses/create-charge.response.ts +7 -0
  192. package/src/modules/invoice/interfaces/responses/create-finalize.response.ts +7 -0
  193. package/src/modules/invoice/interfaces/responses/create-invoice.response.ts +7 -0
  194. package/src/modules/invoice/interfaces/responses/finalize.response.ts +9 -0
  195. package/src/modules/invoice/interfaces/responses/fiscal-checks.response.ts +49 -0
  196. package/src/modules/invoice/interfaces/responses/index.ts +10 -0
  197. package/src/modules/invoice/interfaces/responses/invoice-status.response.ts +142 -0
  198. package/src/modules/invoice/interfaces/responses/invoice.response.ts +14 -0
  199. package/src/modules/invoice/interfaces/responses/receipt.response.ts +6 -0
  200. package/src/modules/invoice/invoice.module.ts +8 -0
  201. package/src/modules/invoice/invoice.service.ts +191 -0
  202. package/src/modules/merchant/interfaces/index.ts +1 -0
  203. package/src/modules/merchant/interfaces/responses/index.ts +2 -0
  204. package/src/modules/merchant/interfaces/responses/merchant.response.ts +19 -0
  205. package/src/modules/merchant/interfaces/responses/pubkey.response.ts +10 -0
  206. package/src/modules/merchant/merchant.module.ts +8 -0
  207. package/src/modules/merchant/merchant.service.ts +46 -0
  208. package/src/modules/qr/enums/amount-type.enum.ts +13 -0
  209. package/src/modules/qr/enums/index.ts +1 -0
  210. package/src/modules/qr/interfaces/index.ts +0 -0
  211. package/src/modules/qr/interfaces/responses/index.ts +2 -0
  212. package/src/modules/qr/interfaces/responses/list.response.ts +11 -0
  213. package/src/modules/qr/interfaces/responses/qr.response.ts +18 -0
  214. package/src/modules/qr/qr.module.ts +8 -0
  215. package/src/modules/qr/qr.service.ts +43 -0
  216. package/src/modules/statement/interfaces/index.ts +1 -0
  217. package/src/modules/statement/interfaces/responses/index.ts +1 -0
  218. package/src/modules/statement/interfaces/responses/statement.response.ts +119 -0
  219. package/src/modules/statement/statement.module.ts +8 -0
  220. package/src/modules/statement/statement.service.ts +25 -0
  221. package/src/modules/subscription/enums/index.ts +2 -0
  222. package/src/modules/subscription/enums/subscription-status.enum.ts +14 -0
  223. package/src/modules/subscription/enums/wallet-status.enum.ts +19 -0
  224. package/src/modules/subscription/interfaces/index.ts +2 -0
  225. package/src/modules/subscription/interfaces/requests/client-subscriptions.request.ts +31 -0
  226. package/src/modules/subscription/interfaces/requests/create-subscription.request.ts +38 -0
  227. package/src/modules/subscription/interfaces/requests/edit-subscription.request.ts +20 -0
  228. package/src/modules/subscription/interfaces/requests/history.request.ts +20 -0
  229. package/src/modules/subscription/interfaces/requests/index.ts +4 -0
  230. package/src/modules/subscription/interfaces/responses/client-subscriptions.response.ts +36 -0
  231. package/src/modules/subscription/interfaces/responses/create-subscription.response.ts +6 -0
  232. package/src/modules/subscription/interfaces/responses/history.response.ts +12 -0
  233. package/src/modules/subscription/interfaces/responses/index.ts +5 -0
  234. package/src/modules/subscription/interfaces/responses/subscription-status.response.ts +40 -0
  235. package/src/modules/subscription/interfaces/responses/subscription.response.ts +11 -0
  236. package/src/modules/subscription/subscription.module.ts +8 -0
  237. package/src/modules/subscription/subscription.service.ts +121 -0
  238. package/src/modules/wallet/interfaces/index.ts +2 -0
  239. package/src/modules/wallet/interfaces/requests/create-card-token.request.ts +50 -0
  240. package/src/modules/wallet/interfaces/requests/index.ts +1 -0
  241. package/src/modules/wallet/interfaces/responses/card-token.response.ts +44 -0
  242. package/src/modules/wallet/interfaces/responses/create-card-token.response.ts +7 -0
  243. package/src/modules/wallet/interfaces/responses/index.ts +2 -0
  244. package/src/modules/wallet/wallet.module.ts +8 -0
  245. package/src/modules/wallet/wallet.service.ts +71 -0
  246. package/src/modules/webhook/webhook.module.ts +12 -0
  247. package/src/modules/webhook/webhook.service.ts +60 -0
  248. package/src/monobank.module.ts +115 -0
  249. package/src/monobank.service.ts +21 -0
  250. package/tsconfig.json +18 -0
@@ -0,0 +1,9 @@
1
+ import type { PaginatedResponse } from "../../../../common/interfaces";
2
+ import type { WalletStatusEnum } from "../../enums";
3
+ export interface PaymentResponse {
4
+ amount: number;
5
+ status: WalletStatusEnum;
6
+ chargedAt: string;
7
+ ccy: string;
8
+ }
9
+ export type HistoryResponse = PaginatedResponse<PaymentResponse>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ export * from './subscription.response';
2
+ export * from './subscription-status.response';
3
+ export * from './client-subscriptions.response';
4
+ export * from './history.response';
5
+ export * from './create-subscription.response';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./subscription.response"), exports);
18
+ __exportStar(require("./subscription-status.response"), exports);
19
+ __exportStar(require("./client-subscriptions.response"), exports);
20
+ __exportStar(require("./history.response"), exports);
21
+ __exportStar(require("./create-subscription.response"), exports);
@@ -0,0 +1,29 @@
1
+ import type { SubscriptionSummary, WalletData } from "../../../../common/interfaces";
2
+ import type { SubscriptionStatusEnum } from "../../enums";
3
+ /**
4
+ * Статус підписки клієнта
5
+ */
6
+ export interface SubscriptionStatusResponse {
7
+ /** Ідентифікатор підписки */
8
+ subscriptionId: string;
9
+ /** Статус підписки */
10
+ status: SubscriptionStatusEnum;
11
+ /** Дата початку підписки (ISO 8601) */
12
+ startDate: string;
13
+ /** Дата завершення підписки (ISO 8601), якщо підписка закінчена або запланована */
14
+ endDate?: string;
15
+ /** Сума списання у мінімальних одиницях валюти */
16
+ amount: number;
17
+ /** Числовий код валюти ISO 4217 */
18
+ ccy: number;
19
+ /** Періодичність списання (наприклад, "1m", "2w") */
20
+ interval: string;
21
+ /** Дата наступного списання (ISO 8601), якщо відома */
22
+ nextChargeDate?: string;
23
+ /** Причина скасування, якщо підписка була скасована */
24
+ cancellationDesc?: string;
25
+ /** Статистика платежів по підписці */
26
+ summary: SubscriptionSummary;
27
+ /** Дані гаманця, через який проходять списання */
28
+ walletData: WalletData;
29
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Відповідь API при створенні або отриманні підписки
3
+ */
4
+ export interface SubscriptionResponse {
5
+ /** Ідентифікатор підписки */
6
+ subscriptionId: string;
7
+ /** URL сторінки підписки для користувача */
8
+ pageUrl: string;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export declare class SubscriptionModule {
2
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.SubscriptionModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const subscription_service_1 = require("./subscription.service");
12
+ let SubscriptionModule = class SubscriptionModule {
13
+ };
14
+ exports.SubscriptionModule = SubscriptionModule;
15
+ exports.SubscriptionModule = SubscriptionModule = __decorate([
16
+ (0, common_1.Module)({
17
+ providers: [subscription_service_1.SubscriptionService],
18
+ exports: [subscription_service_1.SubscriptionService],
19
+ })
20
+ ], SubscriptionModule);
@@ -0,0 +1,91 @@
1
+ import type { ClientSubscriptionResponse, ClientSubscriptionsRequest, CreateSubscriptionRequest, CreateSubscriptionResponse, EditSubscriptionRequest, HistoryRequest, HistoryResponse, SubscriptionStatusResponse } from "./interfaces";
2
+ import { MonobankHttpClient } from "../../core/http/monobank.http-client";
3
+ export declare class SubscriptionService {
4
+ private readonly http;
5
+ constructor(http: MonobankHttpClient);
6
+ /**
7
+ * Створює нову підписку (регулярний платіж).
8
+ * Після створення клієнта необхідно перенаправити на `pageUrl`
9
+ * для підтвердження підписки.
10
+ *
11
+ * @param {CreateSubscriptionRequest} data Дані для створення підписки
12
+ * @returns {Promise<CreateSubscriptionResponse>} Обʼєкт із посиланням на сторінку оплати
13
+ *
14
+ * @example
15
+ * const subscription = await this.monobankService.subscription.create({
16
+ * amount: 19900,
17
+ * redirectUrl: 'https://example.com/payment/success',
18
+ * webHookUrls: {
19
+ * chargeUrl: "https://example.com/api/v1/webhooks/monobank/charge"
20
+ * statusUrl: "https://example.com/api/v1/webhooks/monobank/status"
21
+ * }
22
+ * interval: '1m',
23
+ * validity: 2592000
24
+ * });
25
+ *
26
+ * console.log(subscription.pageUrl);
27
+ */
28
+ create(data: CreateSubscriptionRequest): Promise<CreateSubscriptionResponse>;
29
+ /**
30
+ * Отримує поточний статус підписки.
31
+ *
32
+ * @param {string} subscriptionId Унікальний ідентифікатор підписки
33
+ * @returns {Promise<SubscriptionStatusResponse>} Інформація про статус підписки
34
+ *
35
+ * @example
36
+ * const status = await this.monobankService.subscription.getStatus('sub_123456');
37
+ * console.log(status.status);
38
+ */
39
+ getStatus(subscriptionId: string): Promise<SubscriptionStatusResponse>;
40
+ /**
41
+ * Отримує історію платежів по підписці.
42
+ *
43
+ * @param {HistoryRequest} query Параметри фільтрації (subscriptionId, дати, ліміти)
44
+ * @returns {Promise<HistoryResponse>} Список платежів
45
+ *
46
+ * @example
47
+ * const history = await this.monobankService.subscription.getHistory({
48
+ * subscriptionId: 'sub_123456',
49
+ * dateFrom: '2025-01-01T00:00:00Z',
50
+ * limit: 20
51
+ * });
52
+ */
53
+ getHistory(query: HistoryRequest): Promise<HistoryResponse>;
54
+ /**
55
+ * Отримує список підписок мерчанта або клієнта.
56
+ *
57
+ * @param {ClientSubscriptionsRequest} query Параметри пошуку (статус, дати, сторінка)
58
+ * @returns {Promise<ClientSubscriptionsResponse>} Масив підписок
59
+ *
60
+ * @example
61
+ * const subscriptions = await this.monobankService.subscription.getClientSubscriptions({
62
+ * status: 'active',
63
+ * limit: 10
64
+ * });
65
+ */
66
+ getClientSubscriptions(query: ClientSubscriptionsRequest): Promise<ClientSubscriptionResponse>;
67
+ /**
68
+ * Редагує або скасовує підписку.
69
+ * На даний момент підтримується дія `cancel`.
70
+ *
71
+ * @param {EditSubscriptionRequest} data Дані для редагування підписки
72
+ * @returns {Promise<void>}
73
+ *
74
+ * @example
75
+ * await this.monobankService.subscription.editSubscription({
76
+ * subscriptionId: 'sub_123456',
77
+ * action: 'cancel'
78
+ * });
79
+ */
80
+ editSubscription(data: EditSubscriptionRequest): Promise<void>;
81
+ /**
82
+ * Видаляє (деактивує) підписку.
83
+ *
84
+ * @param {string} subscriptionId Ідентифікатор підписки
85
+ * @returns {Promise<void>}
86
+ *
87
+ * @example
88
+ * await this.monobankService.subscription.removeSubscription('sub_123456');
89
+ */
90
+ removeSubscription(subscriptionId: string): Promise<void>;
91
+ }
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SubscriptionService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const monobank_http_client_1 = require("../../core/http/monobank.http-client");
15
+ let SubscriptionService = class SubscriptionService {
16
+ constructor(http) {
17
+ this.http = http;
18
+ }
19
+ /**
20
+ * Створює нову підписку (регулярний платіж).
21
+ * Після створення клієнта необхідно перенаправити на `pageUrl`
22
+ * для підтвердження підписки.
23
+ *
24
+ * @param {CreateSubscriptionRequest} data Дані для створення підписки
25
+ * @returns {Promise<CreateSubscriptionResponse>} Обʼєкт із посиланням на сторінку оплати
26
+ *
27
+ * @example
28
+ * const subscription = await this.monobankService.subscription.create({
29
+ * amount: 19900,
30
+ * redirectUrl: 'https://example.com/payment/success',
31
+ * webHookUrls: {
32
+ * chargeUrl: "https://example.com/api/v1/webhooks/monobank/charge"
33
+ * statusUrl: "https://example.com/api/v1/webhooks/monobank/status"
34
+ * }
35
+ * interval: '1m',
36
+ * validity: 2592000
37
+ * });
38
+ *
39
+ * console.log(subscription.pageUrl);
40
+ */
41
+ async create(data) {
42
+ return this.http.post('/merchant/subscription/create', data);
43
+ }
44
+ /**
45
+ * Отримує поточний статус підписки.
46
+ *
47
+ * @param {string} subscriptionId Унікальний ідентифікатор підписки
48
+ * @returns {Promise<SubscriptionStatusResponse>} Інформація про статус підписки
49
+ *
50
+ * @example
51
+ * const status = await this.monobankService.subscription.getStatus('sub_123456');
52
+ * console.log(status.status);
53
+ */
54
+ async getStatus(subscriptionId) {
55
+ return this.http.get(`/merchant/subscription/status?subscriptionId=${subscriptionId}`);
56
+ }
57
+ /**
58
+ * Отримує історію платежів по підписці.
59
+ *
60
+ * @param {HistoryRequest} query Параметри фільтрації (subscriptionId, дати, ліміти)
61
+ * @returns {Promise<HistoryResponse>} Список платежів
62
+ *
63
+ * @example
64
+ * const history = await this.monobankService.subscription.getHistory({
65
+ * subscriptionId: 'sub_123456',
66
+ * dateFrom: '2025-01-01T00:00:00Z',
67
+ * limit: 20
68
+ * });
69
+ */
70
+ async getHistory(query) {
71
+ return this.http.get('/merchant/subscription/payments', { params: query });
72
+ }
73
+ /**
74
+ * Отримує список підписок мерчанта або клієнта.
75
+ *
76
+ * @param {ClientSubscriptionsRequest} query Параметри пошуку (статус, дати, сторінка)
77
+ * @returns {Promise<ClientSubscriptionsResponse>} Масив підписок
78
+ *
79
+ * @example
80
+ * const subscriptions = await this.monobankService.subscription.getClientSubscriptions({
81
+ * status: 'active',
82
+ * limit: 10
83
+ * });
84
+ */
85
+ async getClientSubscriptions(query) {
86
+ return this.http.get(`/merchant/subscription/list`, { params: query });
87
+ }
88
+ /**
89
+ * Редагує або скасовує підписку.
90
+ * На даний момент підтримується дія `cancel`.
91
+ *
92
+ * @param {EditSubscriptionRequest} data Дані для редагування підписки
93
+ * @returns {Promise<void>}
94
+ *
95
+ * @example
96
+ * await this.monobankService.subscription.editSubscription({
97
+ * subscriptionId: 'sub_123456',
98
+ * action: 'cancel'
99
+ * });
100
+ */
101
+ async editSubscription(data) {
102
+ return this.http.post(`/merchant/subscription/edit`, data);
103
+ }
104
+ /**
105
+ * Видаляє (деактивує) підписку.
106
+ *
107
+ * @param {string} subscriptionId Ідентифікатор підписки
108
+ * @returns {Promise<void>}
109
+ *
110
+ * @example
111
+ * await this.monobankService.subscription.removeSubscription('sub_123456');
112
+ */
113
+ async removeSubscription(subscriptionId) {
114
+ return this.http.post(`/merchant/subscription/remove?subscriptionId=${subscriptionId}`);
115
+ }
116
+ };
117
+ exports.SubscriptionService = SubscriptionService;
118
+ exports.SubscriptionService = SubscriptionService = __decorate([
119
+ (0, common_1.Injectable)(),
120
+ __metadata("design:paramtypes", [monobank_http_client_1.MonobankHttpClient])
121
+ ], SubscriptionService);
@@ -0,0 +1,2 @@
1
+ export * from './requests';
2
+ export * from './responses';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./requests"), exports);
18
+ __exportStar(require("./responses"), exports);
@@ -0,0 +1,42 @@
1
+ import type { MerchantPaymInfoItem } from "../../../../common/interfaces";
2
+ /**
3
+ * Запит на створення платежу за токеном картки.
4
+ */
5
+ export interface CreateCardTokenRequest {
6
+ /**
7
+ * Токен картки, отриманий з особистого кабінету або тестовий токен
8
+ */
9
+ cardToken: string;
10
+ /**
11
+ * Сума платежу в мінімальних одиницях (наприклад, копійки для гривні)
12
+ */
13
+ amount: number;
14
+ /**
15
+ * ISO 4217 код валюти
16
+ */
17
+ ccy: number;
18
+ /**
19
+ * (Не обов'язковий) URL для переадресації користувача після 3DS підтвердження
20
+ */
21
+ redirectUrl?: string;
22
+ /**
23
+ * (Не обов'язковий) URL для вебхука, на який надсилаються оновлення статусу платежу
24
+ */
25
+ webHookUrl?: string;
26
+ /**
27
+ * Тип ініціації платежу:
28
+ * "merchant" - ініціатива мерчанту (наприклад, регулярний платіж)
29
+ * "client" - ініціатива клієнта (клієнт підтверджує платіж)
30
+ */
31
+ initiationKind: "merchant" | "client";
32
+ /**
33
+ * (Не обов'язковий) Тип платежу:
34
+ * "debit" - списання коштів
35
+ * "hold" - блокування коштів
36
+ */
37
+ paymentType?: "debit" | "hold";
38
+ /**
39
+ * (Не обов'язковий) Інформація про платіж, для зв'язку з ПРРО через веб-кабінет
40
+ */
41
+ merchantPaymInfo?: MerchantPaymInfoItem;
42
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export * from './create-card-token.request';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./create-card-token.request"), exports);
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Результат платежу за токеном картки.
3
+ */
4
+ export interface CardTokenResponse {
5
+ /**
6
+ * Унікальний ідентифікатор рахунку (invoice).
7
+ */
8
+ invoiceId: string;
9
+ /**
10
+ * URL для проведення 3DS підтвердження платежу.
11
+ */
12
+ tdsUrl: string;
13
+ /**
14
+ * Статус платежу: "success", "failure" тощо.
15
+ */
16
+ status: string;
17
+ /**
18
+ * Причина невдачі платежу (якщо статус "failure").
19
+ */
20
+ failureReason?: string;
21
+ /**
22
+ * Сума платежу в мінімальних одиницях (наприклад, копійки для гривні).
23
+ */
24
+ amount: number;
25
+ /**
26
+ * ISO 4217 код валюти.
27
+ */
28
+ ccy: number;
29
+ /**
30
+ * Дата створення рахунку (може бути null).
31
+ */
32
+ createdDate: string | null;
33
+ /**
34
+ * Дата останнього оновлення рахунку (може бути null).
35
+ */
36
+ modifiedDate: string | null;
37
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import type { CardTokenResponse } from './card-token.response';
2
+ /**
3
+ * Відповідь API при створенні платежу за токеном картки.
4
+ * Наслідує базову структуру CardTokenResponse.
5
+ */
6
+ export interface CreateCardTokenResponse extends CardTokenResponse {
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export * from './card-token.response';
2
+ export * from './create-card-token.response';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./card-token.response"), exports);
18
+ __exportStar(require("./create-card-token.response"), exports);
@@ -0,0 +1,2 @@
1
+ export declare class WalletModule {
2
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.WalletModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const wallet_service_1 = require("./wallet.service");
12
+ let WalletModule = class WalletModule {
13
+ };
14
+ exports.WalletModule = WalletModule;
15
+ exports.WalletModule = WalletModule = __decorate([
16
+ (0, common_1.Module)({
17
+ providers: [wallet_service_1.WalletService],
18
+ exports: [wallet_service_1.WalletService],
19
+ })
20
+ ], WalletModule);
@@ -0,0 +1,54 @@
1
+ import { MonobankHttpClient } from "../../core/http/monobank.http-client";
2
+ import type { CardTokenResponse, CreateCardTokenRequest, CreateCardTokenResponse } from './interfaces';
3
+ export declare class WalletService {
4
+ readonly http: MonobankHttpClient;
5
+ constructor(http: MonobankHttpClient);
6
+ /**
7
+ * Створює токен картки (Card Token) для збереження платіжної картки.
8
+ *
9
+ * Використовується для:
10
+ * - привʼязки картки клієнта
11
+ * - повторних платежів без повторного введення реквізитів
12
+ * - роботи з wallet-платежами Monobank
13
+ *
14
+ * @param {CreateCardTokenRequest} data - Дані для створення токена картки.
15
+ * @returns {Promise<CreateCardTokenResponse>} Дані створеного токена картки.
16
+ *
17
+ * @example
18
+ * const data: CreateCardTokenRequest = {
19
+ * amount: 100,
20
+ * ccy: 980,
21
+ * redirectUrl: "https://example.com/success",
22
+ * webHookUrl: "https://example.com/webhook"
23
+ * };
24
+ *
25
+ * const token = await this.monobankService.wallet.create(data);
26
+ * console.log(token.cardToken);
27
+ */
28
+ create(data: CreateCardTokenRequest): Promise<CreateCardTokenResponse>;
29
+ /**
30
+ * Отримує інформацію про wallet за його ідентифікатором.
31
+ *
32
+ * @param {string} id - Унікальний ідентифікатор wallet.
33
+ * @returns {Promise<CardTokenResponse>} Дані wallet (привʼязана картка, статус тощо).
34
+ *
35
+ * @example
36
+ * const wallet = await this.monobankService.wallet.getById("wlt_123456");
37
+ * console.log(wallet);
38
+ */
39
+ getById(id: string): Promise<CardTokenResponse>;
40
+ /**
41
+ * Видаляє привʼязану картку за токеном.
42
+ *
43
+ * Після видалення:
44
+ * - токен стає недійсним
45
+ * - повторні списання по цій картці неможливі
46
+ *
47
+ * @param {string} token - Токен картки (cardToken).
48
+ * @returns {Promise<void>} Результат операції видалення.
49
+ *
50
+ * @example
51
+ * await this.monobankService.wallet.deleteByToken("card_token_abc123");
52
+ */
53
+ deleteByToken(token: string): Promise<void>;
54
+ }