clearbank-sdk 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 (142) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/LICENSE +21 -0
  3. package/README.md +295 -0
  4. package/dist/cjs/core/config.js +25 -0
  5. package/dist/cjs/core/config.js.map +1 -0
  6. package/dist/cjs/core/crypto.js +110 -0
  7. package/dist/cjs/core/crypto.js.map +1 -0
  8. package/dist/cjs/core/http.js +191 -0
  9. package/dist/cjs/core/http.js.map +1 -0
  10. package/dist/cjs/core/index.js +14 -0
  11. package/dist/cjs/core/index.js.map +1 -0
  12. package/dist/cjs/core/retry.js +42 -0
  13. package/dist/cjs/core/retry.js.map +1 -0
  14. package/dist/cjs/domains/accounts/index.js +6 -0
  15. package/dist/cjs/domains/accounts/index.js.map +1 -0
  16. package/dist/cjs/domains/accounts/service.js +216 -0
  17. package/dist/cjs/domains/accounts/service.js.map +1 -0
  18. package/dist/cjs/domains/accounts/types.js +3 -0
  19. package/dist/cjs/domains/accounts/types.js.map +1 -0
  20. package/dist/cjs/domains/embedded/index.js +6 -0
  21. package/dist/cjs/domains/embedded/index.js.map +1 -0
  22. package/dist/cjs/domains/embedded/service.js +215 -0
  23. package/dist/cjs/domains/embedded/service.js.map +1 -0
  24. package/dist/cjs/domains/embedded/types.js +3 -0
  25. package/dist/cjs/domains/embedded/types.js.map +1 -0
  26. package/dist/cjs/domains/multicurrency/index.js +6 -0
  27. package/dist/cjs/domains/multicurrency/index.js.map +1 -0
  28. package/dist/cjs/domains/multicurrency/service.js +202 -0
  29. package/dist/cjs/domains/multicurrency/service.js.map +1 -0
  30. package/dist/cjs/domains/multicurrency/types.js +3 -0
  31. package/dist/cjs/domains/multicurrency/types.js.map +1 -0
  32. package/dist/cjs/domains/payments/index.js +6 -0
  33. package/dist/cjs/domains/payments/index.js.map +1 -0
  34. package/dist/cjs/domains/payments/service.js +255 -0
  35. package/dist/cjs/domains/payments/service.js.map +1 -0
  36. package/dist/cjs/domains/payments/types.js +3 -0
  37. package/dist/cjs/domains/payments/types.js.map +1 -0
  38. package/dist/cjs/domains/webhooks/index.js +7 -0
  39. package/dist/cjs/domains/webhooks/index.js.map +1 -0
  40. package/dist/cjs/domains/webhooks/service.js +173 -0
  41. package/dist/cjs/domains/webhooks/service.js.map +1 -0
  42. package/dist/cjs/domains/webhooks/types.js +8 -0
  43. package/dist/cjs/domains/webhooks/types.js.map +1 -0
  44. package/dist/cjs/index.js +73 -0
  45. package/dist/cjs/index.js.map +1 -0
  46. package/dist/cjs/types/index.js +45 -0
  47. package/dist/cjs/types/index.js.map +1 -0
  48. package/dist/cjs/utils/index.js +46 -0
  49. package/dist/cjs/utils/index.js.map +1 -0
  50. package/dist/esm/core/config.js +22 -0
  51. package/dist/esm/core/config.js.map +1 -0
  52. package/dist/esm/core/crypto.js +105 -0
  53. package/dist/esm/core/crypto.js.map +1 -0
  54. package/dist/esm/core/http.js +187 -0
  55. package/dist/esm/core/http.js.map +1 -0
  56. package/dist/esm/core/index.js +5 -0
  57. package/dist/esm/core/index.js.map +1 -0
  58. package/dist/esm/core/retry.js +39 -0
  59. package/dist/esm/core/retry.js.map +1 -0
  60. package/dist/esm/domains/accounts/index.js +2 -0
  61. package/dist/esm/domains/accounts/index.js.map +1 -0
  62. package/dist/esm/domains/accounts/service.js +212 -0
  63. package/dist/esm/domains/accounts/service.js.map +1 -0
  64. package/dist/esm/domains/accounts/types.js +2 -0
  65. package/dist/esm/domains/accounts/types.js.map +1 -0
  66. package/dist/esm/domains/embedded/index.js +2 -0
  67. package/dist/esm/domains/embedded/index.js.map +1 -0
  68. package/dist/esm/domains/embedded/service.js +211 -0
  69. package/dist/esm/domains/embedded/service.js.map +1 -0
  70. package/dist/esm/domains/embedded/types.js +2 -0
  71. package/dist/esm/domains/embedded/types.js.map +1 -0
  72. package/dist/esm/domains/multicurrency/index.js +2 -0
  73. package/dist/esm/domains/multicurrency/index.js.map +1 -0
  74. package/dist/esm/domains/multicurrency/service.js +198 -0
  75. package/dist/esm/domains/multicurrency/service.js.map +1 -0
  76. package/dist/esm/domains/multicurrency/types.js +2 -0
  77. package/dist/esm/domains/multicurrency/types.js.map +1 -0
  78. package/dist/esm/domains/payments/index.js +2 -0
  79. package/dist/esm/domains/payments/index.js.map +1 -0
  80. package/dist/esm/domains/payments/service.js +251 -0
  81. package/dist/esm/domains/payments/service.js.map +1 -0
  82. package/dist/esm/domains/payments/types.js +2 -0
  83. package/dist/esm/domains/payments/types.js.map +1 -0
  84. package/dist/esm/domains/webhooks/index.js +2 -0
  85. package/dist/esm/domains/webhooks/index.js.map +1 -0
  86. package/dist/esm/domains/webhooks/service.js +168 -0
  87. package/dist/esm/domains/webhooks/service.js.map +1 -0
  88. package/dist/esm/domains/webhooks/types.js +5 -0
  89. package/dist/esm/domains/webhooks/types.js.map +1 -0
  90. package/dist/esm/index.js +56 -0
  91. package/dist/esm/index.js.map +1 -0
  92. package/dist/esm/types/index.js +41 -0
  93. package/dist/esm/types/index.js.map +1 -0
  94. package/dist/esm/utils/index.js +35 -0
  95. package/dist/esm/utils/index.js.map +1 -0
  96. package/dist/types/core/config.d.ts +34 -0
  97. package/dist/types/core/config.d.ts.map +1 -0
  98. package/dist/types/core/crypto.d.ts +20 -0
  99. package/dist/types/core/crypto.d.ts.map +1 -0
  100. package/dist/types/core/http.d.ts +34 -0
  101. package/dist/types/core/http.d.ts.map +1 -0
  102. package/dist/types/core/index.d.ts +7 -0
  103. package/dist/types/core/index.d.ts.map +1 -0
  104. package/dist/types/core/retry.d.ts +14 -0
  105. package/dist/types/core/retry.d.ts.map +1 -0
  106. package/dist/types/domains/accounts/index.d.ts +3 -0
  107. package/dist/types/domains/accounts/index.d.ts.map +1 -0
  108. package/dist/types/domains/accounts/service.d.ts +61 -0
  109. package/dist/types/domains/accounts/service.d.ts.map +1 -0
  110. package/dist/types/domains/accounts/types.d.ts +90 -0
  111. package/dist/types/domains/accounts/types.d.ts.map +1 -0
  112. package/dist/types/domains/embedded/index.d.ts +3 -0
  113. package/dist/types/domains/embedded/index.d.ts.map +1 -0
  114. package/dist/types/domains/embedded/service.d.ts +63 -0
  115. package/dist/types/domains/embedded/service.d.ts.map +1 -0
  116. package/dist/types/domains/embedded/types.d.ts +148 -0
  117. package/dist/types/domains/embedded/types.d.ts.map +1 -0
  118. package/dist/types/domains/multicurrency/index.d.ts +3 -0
  119. package/dist/types/domains/multicurrency/index.d.ts.map +1 -0
  120. package/dist/types/domains/multicurrency/service.d.ts +50 -0
  121. package/dist/types/domains/multicurrency/service.d.ts.map +1 -0
  122. package/dist/types/domains/multicurrency/types.d.ts +84 -0
  123. package/dist/types/domains/multicurrency/types.d.ts.map +1 -0
  124. package/dist/types/domains/payments/index.d.ts +3 -0
  125. package/dist/types/domains/payments/index.d.ts.map +1 -0
  126. package/dist/types/domains/payments/service.d.ts +65 -0
  127. package/dist/types/domains/payments/service.d.ts.map +1 -0
  128. package/dist/types/domains/payments/types.d.ts +107 -0
  129. package/dist/types/domains/payments/types.d.ts.map +1 -0
  130. package/dist/types/domains/webhooks/index.d.ts +3 -0
  131. package/dist/types/domains/webhooks/index.d.ts.map +1 -0
  132. package/dist/types/domains/webhooks/service.d.ts +66 -0
  133. package/dist/types/domains/webhooks/service.d.ts.map +1 -0
  134. package/dist/types/domains/webhooks/types.d.ts +215 -0
  135. package/dist/types/domains/webhooks/types.d.ts.map +1 -0
  136. package/dist/types/index.d.ts +54 -0
  137. package/dist/types/index.d.ts.map +1 -0
  138. package/dist/types/types/index.d.ts +77 -0
  139. package/dist/types/types/index.d.ts.map +1 -0
  140. package/dist/types/utils/index.d.ts +22 -0
  141. package/dist/types/utils/index.d.ts.map +1 -0
  142. package/package.json +96 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/core/http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withRetry = exports.verifySignature = exports.signRequestBody = exports.generateUUID = exports.resolveConfig = exports.HttpClient = void 0;
4
+ var http_js_1 = require("./http.js");
5
+ Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return http_js_1.HttpClient; } });
6
+ var config_js_1 = require("./config.js");
7
+ Object.defineProperty(exports, "resolveConfig", { enumerable: true, get: function () { return config_js_1.resolveConfig; } });
8
+ var crypto_js_1 = require("./crypto.js");
9
+ Object.defineProperty(exports, "generateUUID", { enumerable: true, get: function () { return crypto_js_1.generateUUID; } });
10
+ Object.defineProperty(exports, "signRequestBody", { enumerable: true, get: function () { return crypto_js_1.signRequestBody; } });
11
+ Object.defineProperty(exports, "verifySignature", { enumerable: true, get: function () { return crypto_js_1.verifySignature; } });
12
+ var retry_js_1 = require("./retry.js");
13
+ Object.defineProperty(exports, "withRetry", { enumerable: true, get: function () { return retry_js_1.withRetry; } });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAA9B,qGAAA,UAAU,OAAA;AACnB,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AACtB,yCAA6E;AAApE,yGAAA,YAAY,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,4GAAA,eAAe,OAAA;AACvD,uCAAuC;AAA9B,qGAAA,SAAS,OAAA"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withRetry = withRetry;
4
+ /**
5
+ * Executes fn with exponential backoff retries on retryable ClearBank errors.
6
+ *
7
+ * ClearBank's idempotency contract:
8
+ * - 5XX retries MUST use the same X-Request-Id and body.
9
+ * - 429 (rate limited): back off and retry.
10
+ * - 409 (duplicate X-Request-Id): do NOT retry.
11
+ *
12
+ * Jitter strategy: full-jitter (random between 0 and min(cap, base * 2^attempt)).
13
+ */
14
+ async function withRetry(fn, config, isClearBankError) {
15
+ let lastError;
16
+ for (let attempt = 0; attempt < config.maxRetries; attempt++) {
17
+ if (attempt > 0) {
18
+ const delay = computeDelay(attempt - 1, config.retryBaseDelayMs, config.retryMaxDelayMs);
19
+ await sleep(delay);
20
+ }
21
+ try {
22
+ return await fn();
23
+ }
24
+ catch (err) {
25
+ lastError = err;
26
+ if (!isClearBankError(err) || !err.isRetryable() || attempt === config.maxRetries - 1) {
27
+ throw err;
28
+ }
29
+ // Log retry attempt (SDK-level debug; consumers control observability via telemetryHook)
30
+ }
31
+ }
32
+ throw lastError;
33
+ }
34
+ /** Full-jitter exponential backoff: random(0, min(maxDelay, base * 2^attempt)) */
35
+ function computeDelay(attempt, baseMs, maxMs) {
36
+ const exponential = Math.min(maxMs, baseMs * Math.pow(2, attempt));
37
+ return Math.floor(Math.random() * (exponential + 1));
38
+ }
39
+ function sleep(ms) {
40
+ return new Promise((resolve) => setTimeout(resolve, ms));
41
+ }
42
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/core/retry.ts"],"names":[],"mappings":";;AAaA,8BAyBC;AAnCD;;;;;;;;;GASG;AACI,KAAK,UAAU,SAAS,CAC7B,EAAoB,EACpB,MAAmF,EACnF,gBAAqD;IAErD,IAAI,SAAkB,CAAC;IAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,GAAG,CAAC,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;YACzF,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAG,GAAG,CAAC;YAChB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,OAAO,KAAK,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;gBACtF,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,yFAAyF;QAC3F,CAAC;IACH,CAAC;IAED,MAAM,SAAS,CAAC;AAClB,CAAC;AAED,kFAAkF;AAClF,SAAS,YAAY,CAAC,OAAe,EAAE,MAAc,EAAE,KAAa;IAClE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AccountsService = void 0;
4
+ var service_js_1 = require("./service.js");
5
+ Object.defineProperty(exports, "AccountsService", { enumerable: true, get: function () { return service_js_1.AccountsService; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domains/accounts/index.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAAtC,6GAAA,eAAe,OAAA"}
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AccountsService = void 0;
4
+ /**
5
+ * GBP Account Management service.
6
+ *
7
+ * Covers real accounts, virtual accounts, transactions, Bacs DDIs, and camt.053 reporting.
8
+ */
9
+ class AccountsService {
10
+ constructor(http) {
11
+ this.http = http;
12
+ }
13
+ // ---------------------------------------------------------------------------
14
+ // Real Accounts
15
+ // ---------------------------------------------------------------------------
16
+ /** Returns all real GBP accounts for your institution. */
17
+ async list(params, opts) {
18
+ const res = await this.http.get('/v3/Accounts', buildPagination(params), opts);
19
+ return buildPage(res.data?.accounts, res.data?.totalCount, params);
20
+ }
21
+ /** Returns a single real GBP account by ID. */
22
+ async get(accountId, opts) {
23
+ const res = await this.http.get(`/v3/Accounts/${accountId}`, undefined, opts);
24
+ return res.data;
25
+ }
26
+ /** Creates a new real GBP account. */
27
+ async create(params, opts) {
28
+ const body = {
29
+ accountName: params.accountName,
30
+ accountType: params.accountType,
31
+ ...(params.owner ? { owner: params.owner } : {}),
32
+ ...(params.sortCode ? { sortCode: params.sortCode } : {}),
33
+ };
34
+ const res = await this.http.post('/v3/Accounts', body, opts);
35
+ return res.data;
36
+ }
37
+ /** Amends a real GBP account (rename, toggle CoP). */
38
+ async update(accountId, params, opts) {
39
+ const body = omitUndefined({
40
+ accountName: params.accountName,
41
+ copEnabled: params.copEnabled,
42
+ });
43
+ await this.http.patch(`/v1/Accounts/${accountId}`, body, opts);
44
+ }
45
+ // ---------------------------------------------------------------------------
46
+ // Virtual Accounts
47
+ // ---------------------------------------------------------------------------
48
+ /** Returns all virtual accounts under a real account. */
49
+ async listVirtual(accountId, params, opts) {
50
+ const res = await this.http.get(`/v2/Accounts/${accountId}/Virtual`, buildPagination(params), opts);
51
+ return buildPage(res.data?.virtualAccounts, res.data?.totalCount, params);
52
+ }
53
+ /** Returns a specific virtual account. */
54
+ async getVirtual(accountId, virtualAccountId, opts) {
55
+ const res = await this.http.get(`/v2/Accounts/${accountId}/Virtual/${virtualAccountId}`, undefined, opts);
56
+ return res.data;
57
+ }
58
+ /** Creates a virtual account under a real account. */
59
+ async createVirtual(accountId, params, opts) {
60
+ const body = omitUndefined({ accountName: params.accountName, owner: params.owner });
61
+ const res = await this.http.post(`/v2/Accounts/${accountId}/Virtual`, body, opts);
62
+ return res.data;
63
+ }
64
+ /** Amends a virtual account. */
65
+ async updateVirtual(accountId, virtualAccountId, params, opts) {
66
+ const body = omitUndefined({ accountName: params.accountName, copEnabled: params.copEnabled });
67
+ await this.http.patch(`/v1/Accounts/${accountId}/Virtual/${virtualAccountId}`, body, opts);
68
+ }
69
+ // ---------------------------------------------------------------------------
70
+ // Transactions
71
+ // ---------------------------------------------------------------------------
72
+ /** Returns all transactions across the institution. */
73
+ async listAllTransactions(params, opts) {
74
+ const res = await this.http.get('/v2/Transactions', buildDateRange(params), opts);
75
+ return buildPage(res.data?.transactions, res.data?.totalCount, params);
76
+ }
77
+ /** Returns transactions for a specific real account. */
78
+ async listTransactions(accountId, params, opts) {
79
+ const res = await this.http.get(`/v2/Accounts/${accountId}/Transactions`, buildDateRange(params), opts);
80
+ return buildPage(res.data?.transactions, res.data?.totalCount, params);
81
+ }
82
+ /** Returns a specific transaction on a real account. */
83
+ async getTransaction(accountId, transactionId, opts) {
84
+ const res = await this.http.get(`/v2/Accounts/${accountId}/Transactions/${transactionId}`, undefined, opts);
85
+ return res.data;
86
+ }
87
+ /** Returns transactions for a virtual account. */
88
+ async listVirtualTransactions(accountId, virtualAccountId, params, opts) {
89
+ const res = await this.http.get(`/v1/Accounts/${accountId}/Virtual/${virtualAccountId}/Transactions`, buildDateRange(params), opts);
90
+ return buildPage(res.data?.transactions, res.data?.totalCount, params);
91
+ }
92
+ // ---------------------------------------------------------------------------
93
+ // Bacs Payment Data
94
+ // ---------------------------------------------------------------------------
95
+ /** Returns collected Direct Debit payments for a mandate. */
96
+ async listBacsCollections(accountId, mandateId, params, opts) {
97
+ const res = await this.http.get(`/v2/Accounts/${accountId}/Mandates/${mandateId}/Collections`, buildPagination(params), opts);
98
+ return buildPage(res.data?.transactions, res.data?.totalCount, params);
99
+ }
100
+ /** Returns returned Bacs payments for a mandate. */
101
+ async listBacsReturns(accountId, mandateId, params, opts) {
102
+ const res = await this.http.get(`/v1/Accounts/${accountId}/Mandates/${mandateId}/Returns`, buildPagination(params), opts);
103
+ return buildPage(res.data?.transactions, res.data?.totalCount, params);
104
+ }
105
+ // ---------------------------------------------------------------------------
106
+ // Direct Debit Instructions (Mandates)
107
+ // ---------------------------------------------------------------------------
108
+ /** Creates a Bacs Direct Debit Instruction on a real account. */
109
+ async createDDI(accountId, params, opts) {
110
+ const body = buildDDIBody(params);
111
+ const res = await this.http.post(`/v1/Accounts/${accountId}/Mandates`, body, opts);
112
+ return res.data;
113
+ }
114
+ /** Returns all DDIs for a real account. */
115
+ async listDDIs(accountId, params, opts) {
116
+ const res = await this.http.get(`/v2/Accounts/${accountId}/Mandates`, buildPagination(params), opts);
117
+ return buildPage(res.data?.mandates, res.data?.totalCount, params);
118
+ }
119
+ /** Returns a specific DDI. */
120
+ async getDDI(accountId, mandateId, opts) {
121
+ const res = await this.http.get(`/v1/Accounts/${accountId}/Mandates/${mandateId}`, undefined, opts);
122
+ return res.data;
123
+ }
124
+ /** Cancels a DDI on a real account. */
125
+ async cancelDDI(accountId, mandateId, opts) {
126
+ await this.http.delete(`/v1/Accounts/${accountId}/Mandates/${mandateId}`, opts);
127
+ }
128
+ /** Creates a DDI on a virtual account. */
129
+ async createVirtualDDI(accountId, virtualAccountId, params, opts) {
130
+ const body = buildDDIBody(params);
131
+ const res = await this.http.post(`/v1/Accounts/${accountId}/Virtual/${virtualAccountId}/Mandates`, body, opts);
132
+ return res.data;
133
+ }
134
+ /** Returns all DDIs for a virtual account. */
135
+ async listVirtualDDIs(accountId, virtualAccountId, params, opts) {
136
+ const res = await this.http.get(`/v1/Accounts/${accountId}/Virtual/${virtualAccountId}/Mandates`, buildPagination(params), opts);
137
+ return buildPage(res.data?.mandates, res.data?.totalCount, params);
138
+ }
139
+ /** Cancels a DDI on a virtual account. */
140
+ async cancelVirtualDDI(accountId, virtualAccountId, mandateId, opts) {
141
+ await this.http.delete(`/v1/Accounts/${accountId}/Virtual/${virtualAccountId}/Mandates/${mandateId}`, opts);
142
+ }
143
+ // ---------------------------------------------------------------------------
144
+ // camt.053 Statements
145
+ // ---------------------------------------------------------------------------
146
+ /** Requests generation of a camt.053 statement. Returns the message ID. */
147
+ async requestStatement(params, opts) {
148
+ const body = {
149
+ accountId: params.accountId,
150
+ startDate: params.startDate,
151
+ endDate: params.endDate,
152
+ currency: params.currency ?? 'GBP',
153
+ includeVirtualAccounts: params.includeVirtualAccounts ?? false,
154
+ };
155
+ const res = await this.http.post('/v1/statementrequests', body, opts);
156
+ return res.data.messageId;
157
+ }
158
+ /** Downloads a single page of a generated statement. */
159
+ async getStatementPage(messageId, pageNumber, opts) {
160
+ const res = await this.http.get(`/v1/statementrequests/${messageId}/pages/${pageNumber}`, undefined, opts);
161
+ return res.data;
162
+ }
163
+ /** Fetches all pages of a statement sequentially. */
164
+ async getAllStatementPages(messageId, opts) {
165
+ const first = await this.getStatementPage(messageId, 1, opts);
166
+ const totalPages = typeof first['totalPages'] === 'number' ? first['totalPages'] : 1;
167
+ const pages = [first];
168
+ for (let page = 2; page <= totalPages; page++) {
169
+ pages.push(await this.getStatementPage(messageId, page, opts));
170
+ }
171
+ return pages;
172
+ }
173
+ }
174
+ exports.AccountsService = AccountsService;
175
+ // ---------------------------------------------------------------------------
176
+ // Helpers
177
+ // ---------------------------------------------------------------------------
178
+ function buildPagination(p) {
179
+ if (!p)
180
+ return undefined;
181
+ return omitUndefined({ pageNumber: p.pageNumber, pageSize: p.pageSize });
182
+ }
183
+ function buildDateRange(p) {
184
+ if (!p)
185
+ return undefined;
186
+ return omitUndefined({
187
+ pageNumber: p.pageNumber,
188
+ pageSize: p.pageSize,
189
+ startDate: p.startDate,
190
+ endDate: p.endDate,
191
+ });
192
+ }
193
+ function buildPage(items, totalCount, params) {
194
+ return {
195
+ data: items ?? [],
196
+ totalCount: totalCount ?? items?.length ?? 0,
197
+ pageNumber: params?.pageNumber ?? 1,
198
+ pageSize: params?.pageSize ?? 50,
199
+ };
200
+ }
201
+ function buildDDIBody(p) {
202
+ return {
203
+ serviceUserNumber: p.serviceUserNumber,
204
+ reference: p.reference,
205
+ payerDetails: {
206
+ name: p.payerName,
207
+ sortCode: p.payerSortCode,
208
+ accountNumber: p.payerAccountNumber,
209
+ accountType: p.payerAccountType ?? 'Personal',
210
+ },
211
+ };
212
+ }
213
+ function omitUndefined(obj) {
214
+ return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined));
215
+ }
216
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/domains/accounts/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/domains/accounts/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmbeddedBankingService = void 0;
4
+ var service_js_1 = require("./service.js");
5
+ Object.defineProperty(exports, "EmbeddedBankingService", { enumerable: true, get: function () { return service_js_1.EmbeddedBankingService; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domains/embedded/index.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AAA7C,oHAAA,sBAAsB,OAAA"}
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmbeddedBankingService = void 0;
4
+ /**
5
+ * Embedded Banking service — Banking-as-a-Service.
6
+ *
7
+ * Covers: retail/sole-trader/legal-entity customers, payment/savings/ISA/hub accounts,
8
+ * FPS from embedded accounts, ISA transfer-in, interest products, KYC.
9
+ */
10
+ class EmbeddedBankingService {
11
+ constructor(http) {
12
+ this.http = http;
13
+ }
14
+ // ---------------------------------------------------------------------------
15
+ // Customers
16
+ // ---------------------------------------------------------------------------
17
+ /** Lists all embedded customers, optionally filtered by type. */
18
+ async listCustomers(customerType, params, opts) {
19
+ const query = omitUndefined({
20
+ customerType,
21
+ pageNumber: params?.pageNumber,
22
+ pageSize: params?.pageSize,
23
+ });
24
+ const res = await this.http.get('/v1/fin/customers', query, opts);
25
+ return buildPage(res.data?.customers, res.data?.totalCount, params);
26
+ }
27
+ /** Returns a customer by ID. */
28
+ async getCustomer(customerId, opts) {
29
+ const res = await this.http.get(`/v1/fin/customers/${customerId}`, undefined, opts);
30
+ return res.data;
31
+ }
32
+ /** Creates a retail (individual consumer) embedded customer. */
33
+ async createRetailCustomer(params, opts) {
34
+ const body = omitUndefined(params);
35
+ const res = await this.http.post('/v1/fin/customers/retail', body, opts);
36
+ return res.data;
37
+ }
38
+ /** Updates a customer record (email, phone, address). */
39
+ async updateCustomer(customerId, params, opts) {
40
+ const body = omitUndefined(params);
41
+ await this.http.patch(`/v1/fin/customers/${customerId}`, body, opts);
42
+ }
43
+ /** Creates a sole trader embedded customer. */
44
+ async createSoleTraderCustomer(params, opts) {
45
+ const body = omitUndefined(params);
46
+ const res = await this.http.post('/v2/fin/customers/sole-traders', body, opts);
47
+ return res.data;
48
+ }
49
+ /** Updates a sole trader customer. */
50
+ async updateSoleTraderCustomer(customerId, params, opts) {
51
+ const body = omitUndefined(params);
52
+ await this.http.patch(`/v2/fin/customers/sole-traders/${customerId}`, body, opts);
53
+ }
54
+ /** Creates a legal entity (company) embedded customer. */
55
+ async createLegalEntityCustomer(params, opts) {
56
+ const body = omitUndefined(params);
57
+ const res = await this.http.post('/v2/fin/customers/legal-entities', body, opts);
58
+ return res.data;
59
+ }
60
+ /** Updates a legal entity customer. */
61
+ async updateLegalEntityCustomer(customerId, params, opts) {
62
+ const body = omitUndefined(params);
63
+ await this.http.patch(`/v2/fin/customers/legal-entities/${customerId}`, body, opts);
64
+ }
65
+ // ---------------------------------------------------------------------------
66
+ // Accounts
67
+ // ---------------------------------------------------------------------------
68
+ /** Lists all accounts for a customer, optionally filtered by account type. */
69
+ async listCustomerAccounts(customerId, accountType, params, opts) {
70
+ const query = omitUndefined({
71
+ accountType,
72
+ pageNumber: params?.pageNumber,
73
+ pageSize: params?.pageSize,
74
+ });
75
+ const res = await this.http.get(`/v1/fin/customers/${customerId}/accounts`, query, opts);
76
+ return buildPage(res.data?.accounts, res.data?.totalCount, params);
77
+ }
78
+ /** Returns an embedded account by ID. */
79
+ async getAccount(accountId, opts) {
80
+ const res = await this.http.get(`/v1/fin/accounts/${accountId}`, undefined, opts);
81
+ return res.data;
82
+ }
83
+ /** Creates a hub (internal pooled) account. */
84
+ async createHubAccount(params, opts) {
85
+ const body = omitUndefined({
86
+ accountName: params.accountName,
87
+ currency: params.currency ?? 'GBP',
88
+ owner: params.owner,
89
+ });
90
+ const res = await this.http.post('/v1/fin/accounts/hub', body, opts);
91
+ return res.data;
92
+ }
93
+ /** Creates a payment account for a customer. */
94
+ async createPaymentAccount(params, opts) {
95
+ const body = omitUndefined({
96
+ customerId: params.customerId,
97
+ accountName: params.accountName,
98
+ currency: params.currency ?? 'GBP',
99
+ externalAccountId: params.externalAccountId,
100
+ });
101
+ const res = await this.http.post('/v1/fin/accounts/payment', body, opts);
102
+ return res.data;
103
+ }
104
+ /** Creates a savings account for a customer. */
105
+ async createSavingsAccount(params, opts) {
106
+ const body = omitUndefined({
107
+ customerId: params.customerId,
108
+ accountName: params.accountName,
109
+ currency: params.currency ?? 'GBP',
110
+ productId: params.productId,
111
+ externalAccountId: params.externalAccountId,
112
+ });
113
+ const res = await this.http.post('/v1/fin/accounts/savings', body, opts);
114
+ return res.data;
115
+ }
116
+ /** Updates an embedded account (rename or change status). */
117
+ async updateAccount(accountId, params, opts) {
118
+ const body = omitUndefined(params);
119
+ await this.http.patch(`/v1/fin/accounts/${accountId}`, body, opts);
120
+ }
121
+ /** Closes an embedded account. */
122
+ async closeAccount(accountId, opts) {
123
+ return this.updateAccount(accountId, { status: 'Closed' }, opts);
124
+ }
125
+ /** Lists transactions for an embedded account. */
126
+ async listAccountTransactions(accountId, params, opts) {
127
+ const query = omitUndefined({
128
+ pageNumber: params?.pageNumber,
129
+ pageSize: params?.pageSize,
130
+ startDate: params?.startDate,
131
+ endDate: params?.endDate,
132
+ });
133
+ const res = await this.http.get(`/v1/fin/accounts/${accountId}/transactions`, query, opts);
134
+ return buildPage(res.data?.transactions, res.data?.totalCount, params);
135
+ }
136
+ /** Sends a Faster Payment from an embedded customer payment account. */
137
+ async sendFPS(params, opts) {
138
+ const body = omitUndefined({
139
+ amount: params.amount,
140
+ currencyCode: params.currency ?? 'GBP',
141
+ destination: {
142
+ sortCode: params.destinationSortCode,
143
+ accountNumber: params.destinationAccountNumber,
144
+ name: params.destinationName,
145
+ },
146
+ reference: params.reference,
147
+ endToEndId: params.endToEndId,
148
+ });
149
+ await this.http.post(`/v1/fin/accounts/${params.accountId}/payments/fps`, body, opts);
150
+ }
151
+ // ---------------------------------------------------------------------------
152
+ // Flexible Cash ISA
153
+ // ---------------------------------------------------------------------------
154
+ /** Creates a Flexible Cash ISA for a retail customer. */
155
+ async createISA(params, opts) {
156
+ const body = { customerId: params.customerId, accountName: params.accountName };
157
+ const res = await this.http.post('/v1/fin/accounts/cash-isa', body, opts);
158
+ return res.data;
159
+ }
160
+ /**
161
+ * Submits an ISA transfer-in request from a previous provider.
162
+ * The funds are moved into the ISA once confirmed by the previous provider.
163
+ */
164
+ async isaTransferIn(accountId, params, opts) {
165
+ const body = {
166
+ previousProviderName: params.previousProviderName,
167
+ previousProviderReference: params.previousProviderReference,
168
+ transferAmount: params.transferAmount,
169
+ transferType: params.transferType,
170
+ previousTaxYear: params.previousTaxYear,
171
+ };
172
+ await this.http.put(`/v1/fin/accounts/cash-isa/${accountId}/transfer-in`, body, opts);
173
+ }
174
+ // ---------------------------------------------------------------------------
175
+ // Interest Products
176
+ // ---------------------------------------------------------------------------
177
+ /** Returns all available interest rate products. */
178
+ async listInterestProducts(opts) {
179
+ const res = await this.http.get('/v1/fin/interest/products', undefined, opts);
180
+ return res.data?.products ?? [];
181
+ }
182
+ /** Assigns an interest product to a savings account. */
183
+ async configureInterest(accountId, params, opts) {
184
+ await this.http.post(`/v1/fin/interest/accounts/${accountId}`, { productId: params.productId }, opts);
185
+ }
186
+ // ---------------------------------------------------------------------------
187
+ // KYC
188
+ // ---------------------------------------------------------------------------
189
+ /** Returns the current KYC status for a customer. */
190
+ async getKYCStatus(customerId, opts) {
191
+ const res = await this.http.get(`/v1/fin/customers/${customerId}/kyc`, undefined, opts);
192
+ return res.data;
193
+ }
194
+ /** Submits or updates KYC verification data for a customer. */
195
+ async submitKYC(customerId, params, opts) {
196
+ const body = omitUndefined(params);
197
+ await this.http.put(`/v1/fin/customers/${customerId}/kyc`, body, opts);
198
+ }
199
+ }
200
+ exports.EmbeddedBankingService = EmbeddedBankingService;
201
+ // ---------------------------------------------------------------------------
202
+ // Helpers
203
+ // ---------------------------------------------------------------------------
204
+ function buildPage(items, totalCount, params) {
205
+ return {
206
+ data: items ?? [],
207
+ totalCount: totalCount ?? items?.length ?? 0,
208
+ pageNumber: params?.pageNumber ?? 1,
209
+ pageSize: params?.pageSize ?? 50,
210
+ };
211
+ }
212
+ function omitUndefined(obj) {
213
+ return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined));
214
+ }
215
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/domains/embedded/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/domains/embedded/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiCurrencyService = void 0;
4
+ var service_js_1 = require("./service.js");
5
+ Object.defineProperty(exports, "MultiCurrencyService", { enumerable: true, get: function () { return service_js_1.MultiCurrencyService; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domains/multicurrency/index.ts"],"names":[],"mappings":";;;AAAA,2CAAoD;AAA3C,kHAAA,oBAAoB,OAAA"}