opf-validator 0.0.1

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 (86) hide show
  1. package/README.md +143 -0
  2. package/dist/consent/index.d.ts +9 -0
  3. package/dist/consent/index.d.ts.map +1 -0
  4. package/dist/consent/index.js +12 -0
  5. package/dist/consent/index.js.map +1 -0
  6. package/dist/consent/successResponses/index.d.ts +89 -0
  7. package/dist/consent/successResponses/index.d.ts.map +1 -0
  8. package/dist/consent/successResponses/index.js +6 -0
  9. package/dist/consent/successResponses/index.js.map +1 -0
  10. package/dist/consent/validators/createConsent.d.ts +31 -0
  11. package/dist/consent/validators/createConsent.d.ts.map +1 -0
  12. package/dist/consent/validators/createConsent.js +205 -0
  13. package/dist/consent/validators/createConsent.js.map +1 -0
  14. package/dist/consent/validators/createConsentExtensions.d.ts +33 -0
  15. package/dist/consent/validators/createConsentExtensions.d.ts.map +1 -0
  16. package/dist/consent/validators/createConsentExtensions.js +193 -0
  17. package/dist/consent/validators/createConsentExtensions.js.map +1 -0
  18. package/dist/index.d.ts +7 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +60 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/payments/index.d.ts +11 -0
  23. package/dist/payments/index.d.ts.map +1 -0
  24. package/dist/payments/index.js +18 -0
  25. package/dist/payments/index.js.map +1 -0
  26. package/dist/payments/successResponses/index.d.ts +129 -0
  27. package/dist/payments/successResponses/index.d.ts.map +1 -0
  28. package/dist/payments/successResponses/index.js +6 -0
  29. package/dist/payments/successResponses/index.js.map +1 -0
  30. package/dist/payments/validators/createPaymentConsent.d.ts +66 -0
  31. package/dist/payments/validators/createPaymentConsent.d.ts.map +1 -0
  32. package/dist/payments/validators/createPaymentConsent.js +508 -0
  33. package/dist/payments/validators/createPaymentConsent.js.map +1 -0
  34. package/dist/payments/validators/createPixPayment.d.ts +35 -0
  35. package/dist/payments/validators/createPixPayment.d.ts.map +1 -0
  36. package/dist/payments/validators/createPixPayment.js +342 -0
  37. package/dist/payments/validators/createPixPayment.js.map +1 -0
  38. package/dist/payments/validators/patchPixPayment.d.ts +40 -0
  39. package/dist/payments/validators/patchPixPayment.d.ts.map +1 -0
  40. package/dist/payments/validators/patchPixPayment.js +191 -0
  41. package/dist/payments/validators/patchPixPayment.js.map +1 -0
  42. package/dist/recurring-payments/index.d.ts +13 -0
  43. package/dist/recurring-payments/index.d.ts.map +1 -0
  44. package/dist/recurring-payments/index.js +17 -0
  45. package/dist/recurring-payments/index.js.map +1 -0
  46. package/dist/recurring-payments/successResponses/index.d.ts +175 -0
  47. package/dist/recurring-payments/successResponses/index.d.ts.map +1 -0
  48. package/dist/recurring-payments/successResponses/index.js +6 -0
  49. package/dist/recurring-payments/successResponses/index.js.map +1 -0
  50. package/dist/recurring-payments/validators/createRecurringConsent.d.ts +96 -0
  51. package/dist/recurring-payments/validators/createRecurringConsent.d.ts.map +1 -0
  52. package/dist/recurring-payments/validators/createRecurringConsent.js +663 -0
  53. package/dist/recurring-payments/validators/createRecurringConsent.js.map +1 -0
  54. package/dist/recurring-payments/validators/createRecurringRetryPixPayment.d.ts +19 -0
  55. package/dist/recurring-payments/validators/createRecurringRetryPixPayment.d.ts.map +1 -0
  56. package/dist/recurring-payments/validators/createRecurringRetryPixPayment.js +41 -0
  57. package/dist/recurring-payments/validators/createRecurringRetryPixPayment.js.map +1 -0
  58. package/dist/recurring-payments/validators/patchPixPayment.d.ts +38 -0
  59. package/dist/recurring-payments/validators/patchPixPayment.d.ts.map +1 -0
  60. package/dist/recurring-payments/validators/patchPixPayment.js +123 -0
  61. package/dist/recurring-payments/validators/patchPixPayment.js.map +1 -0
  62. package/dist/recurring-payments/validators/patchRecurringConsent.d.ts +87 -0
  63. package/dist/recurring-payments/validators/patchRecurringConsent.d.ts.map +1 -0
  64. package/dist/recurring-payments/validators/patchRecurringConsent.js +555 -0
  65. package/dist/recurring-payments/validators/patchRecurringConsent.js.map +1 -0
  66. package/dist/utils/openFinanceErrors.d.ts +84 -0
  67. package/dist/utils/openFinanceErrors.d.ts.map +1 -0
  68. package/dist/utils/openFinanceErrors.js +85 -0
  69. package/dist/utils/openFinanceErrors.js.map +1 -0
  70. package/dist/utils/paymentErrors.d.ts +9 -0
  71. package/dist/utils/paymentErrors.d.ts.map +1 -0
  72. package/dist/utils/paymentErrors.js +13 -0
  73. package/dist/utils/paymentErrors.js.map +1 -0
  74. package/dist/utils/successResponses.d.ts +52 -0
  75. package/dist/utils/successResponses.d.ts.map +1 -0
  76. package/dist/utils/successResponses.js +6 -0
  77. package/dist/utils/successResponses.js.map +1 -0
  78. package/dist/utils/validateHeaderParameters.d.ts +51 -0
  79. package/dist/utils/validateHeaderParameters.d.ts.map +1 -0
  80. package/dist/utils/validateHeaderParameters.js +142 -0
  81. package/dist/utils/validateHeaderParameters.js.map +1 -0
  82. package/dist/utils/validationHelpers.d.ts +89 -0
  83. package/dist/utils/validationHelpers.d.ts.map +1 -0
  84. package/dist/utils/validationHelpers.js +376 -0
  85. package/dist/utils/validationHelpers.js.map +1 -0
  86. package/package.json +20 -0
@@ -0,0 +1,342 @@
1
+ "use strict";
2
+ /**
3
+ * Validações para CreatePixPayment
4
+ * Segue as regras especificadas no Open Finance Brasil para Criação de Pagamento PIX
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.validateCreatePixPayment = validateCreatePixPayment;
8
+ const openFinanceErrors_1 = require("../../utils/openFinanceErrors");
9
+ // Valid local instruments for PIX
10
+ const VALID_LOCAL_INSTRUMENTS = ["MANU", "DICT", "QRDN", "QRES", "INIC", "APES", "APDN"];
11
+ // Valid authorization flows
12
+ const VALID_AUTHORISATION_FLOWS = ["HYBRID_FLOW", "CIBA_FLOW", "FIDO_FLOW"];
13
+ // Account types
14
+ const VALID_ACCOUNT_TYPES = [
15
+ "CACC",
16
+ "SVGS",
17
+ "TRAD",
18
+ "ODSL",
19
+ "OTHR",
20
+ ];
21
+ /**
22
+ * Valida o payload de criação de pagamento PIX
23
+ */
24
+ function validateCreatePixPayment(payload) {
25
+ const errors = [];
26
+ // Validação: data deve existir e ser um array
27
+ if (!payload.data) {
28
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("data"));
29
+ return { isValid: false, errors };
30
+ }
31
+ if (!Array.isArray(payload.data)) {
32
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("data", "deve ser um array"));
33
+ return { isValid: false, errors };
34
+ }
35
+ if (payload.data.length === 0) {
36
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("data", "deve conter pelo menos 1 item"));
37
+ return { isValid: false, errors };
38
+ }
39
+ // Validar cada item do array
40
+ payload.data.forEach((item, index) => {
41
+ const itemErrors = validatePixPaymentData(item, index);
42
+ errors.push(...itemErrors);
43
+ });
44
+ return {
45
+ isValid: errors.length === 0,
46
+ errors,
47
+ };
48
+ }
49
+ /**
50
+ * Valida um item individual de pagamento PIX
51
+ */
52
+ function validatePixPaymentData(data, index) {
53
+ const errors = [];
54
+ const prefix = `data[${index}]`;
55
+ if (typeof data !== "object" || data === null) {
56
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(prefix, "deve ser um objeto"));
57
+ return errors;
58
+ }
59
+ // endToEndId é obrigatório
60
+ if (!data.endToEndId) {
61
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO(`${prefix}.endToEndId`));
62
+ }
63
+ else if (typeof data.endToEndId !== "string") {
64
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.endToEndId`, "deve ser uma string"));
65
+ }
66
+ else {
67
+ const endToEndErrors = validateEndToEndId(data.endToEndId, prefix);
68
+ errors.push(...endToEndErrors);
69
+ }
70
+ // localInstrument é obrigatório
71
+ if (!data.localInstrument) {
72
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO(`${prefix}.localInstrument`));
73
+ }
74
+ else if (typeof data.localInstrument !== "string") {
75
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.localInstrument`, "deve ser uma string"));
76
+ }
77
+ else {
78
+ if (!VALID_LOCAL_INSTRUMENTS.includes(data.localInstrument)) {
79
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.localInstrument`, `deve ser um de: ${VALID_LOCAL_INSTRUMENTS.join(", ")}`));
80
+ }
81
+ // Validações condicionais baseadas em localInstrument
82
+ if (data.localInstrument === "MANU") {
83
+ // MANU não deve ter proxy
84
+ if (data.proxy) {
85
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.proxy`, "não deve ser preenchido quando localInstrument é MANU"));
86
+ }
87
+ }
88
+ else if (["INIC", "DICT", "APDN", "APES", "QRDN", "QRES"].includes(data.localInstrument)) {
89
+ // Estes instrumentos devem ter proxy
90
+ if (!data.proxy) {
91
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO(`${prefix}.proxy`));
92
+ }
93
+ else if (typeof data.proxy !== "string") {
94
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.proxy`, "deve ser uma string"));
95
+ }
96
+ else if (data.proxy.length > 77) {
97
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.proxy`, "deve ter no máximo 77 caracteres"));
98
+ }
99
+ }
100
+ // QRCode obrigatório para QRDN, APDN, QRES, APES
101
+ if (["QRDN", "APDN", "QRES", "APES"].includes(data.localInstrument)) {
102
+ if (!data.qrCode) {
103
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO(`${prefix}.qrCode`));
104
+ }
105
+ else if (typeof data.qrCode !== "string") {
106
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.qrCode`, "deve ser uma string"));
107
+ }
108
+ else if (data.qrCode.length > 512) {
109
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.qrCode`, "deve ter no máximo 512 caracteres"));
110
+ }
111
+ }
112
+ }
113
+ // payment é obrigatório
114
+ if (!data.payment) {
115
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO(`${prefix}.payment`));
116
+ }
117
+ else {
118
+ const paymentErrors = validatePaymentPix(data.payment, prefix);
119
+ errors.push(...paymentErrors);
120
+ }
121
+ // creditorAccount é obrigatório
122
+ if (!data.creditorAccount) {
123
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO(`${prefix}.creditorAccount`));
124
+ }
125
+ else {
126
+ const accountErrors = validateCreditorAccount(data.creditorAccount, prefix);
127
+ errors.push(...accountErrors);
128
+ }
129
+ // cnpjInitiator é obrigatório
130
+ if (!data.cnpjInitiator) {
131
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO(`${prefix}.cnpjInitiator`));
132
+ }
133
+ else if (typeof data.cnpjInitiator !== "string") {
134
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.cnpjInitiator`, "deve ser uma string"));
135
+ }
136
+ else {
137
+ const cnpjErrors = validateCnpj(data.cnpjInitiator, `${prefix}.cnpjInitiator`);
138
+ errors.push(...cnpjErrors);
139
+ }
140
+ // remittanceInformation (opcional)
141
+ if (data.remittanceInformation) {
142
+ if (typeof data.remittanceInformation !== "string") {
143
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.remittanceInformation`, "deve ser uma string"));
144
+ }
145
+ else if (data.remittanceInformation.length > 140) {
146
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.remittanceInformation`, "deve ter no máximo 140 caracteres"));
147
+ }
148
+ }
149
+ // authorisationFlow (opcional)
150
+ if (data.authorisationFlow) {
151
+ if (typeof data.authorisationFlow !== "string") {
152
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.authorisationFlow`, "deve ser uma string"));
153
+ }
154
+ else if (!VALID_AUTHORISATION_FLOWS.includes(data.authorisationFlow)) {
155
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.authorisationFlow`, `deve ser um de: ${VALID_AUTHORISATION_FLOWS.join(", ")}`));
156
+ }
157
+ }
158
+ // transactionIdentification (opcional)
159
+ if (data.transactionIdentification) {
160
+ if (typeof data.transactionIdentification !== "string") {
161
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.transactionIdentification`, "deve ser uma string"));
162
+ }
163
+ }
164
+ // consentId (opcional)
165
+ if (data.consentId) {
166
+ if (typeof data.consentId !== "string") {
167
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.consentId`, "deve ser uma string"));
168
+ }
169
+ else if (data.consentId.length > 256) {
170
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.consentId`, "deve ter no máximo 256 caracteres"));
171
+ }
172
+ else {
173
+ // Validar padrão URN
174
+ const urnPattern = /^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*''%\/?#]+$/;
175
+ if (!urnPattern.test(data.consentId)) {
176
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.consentId`, "deve estar no formato URN válido"));
177
+ }
178
+ }
179
+ }
180
+ return errors;
181
+ }
182
+ /**
183
+ * Valida EndToEndId
184
+ */
185
+ function validateEndToEndId(endToEndId, prefix) {
186
+ const errors = [];
187
+ if (endToEndId.length !== 32) {
188
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.endToEndId`, "deve ter exatamente 32 caracteres"));
189
+ }
190
+ // Padrão: E + 8 chars + 4 dígitos + data/hora + 11 chars
191
+ const pattern = /^([E])([0-9A-Z]{8})([0-9]{4})(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])(2[0-3]|[01][0-9])([0-5][0-9])([a-zA-Z0-9]{11})$/;
192
+ if (!pattern.test(endToEndId)) {
193
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.endToEndId`, "deve estar no formato ExxxxxxxxyyyyMMddHHmmkkkkkkkkkkk (case-sensitive)"));
194
+ }
195
+ return errors;
196
+ }
197
+ /**
198
+ * Valida objeto Payment PIX
199
+ */
200
+ function validatePaymentPix(payment, prefix) {
201
+ const errors = [];
202
+ if (typeof payment !== "object" || payment === null) {
203
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.payment`, "deve ser um objeto"));
204
+ return errors;
205
+ }
206
+ // amount é obrigatório
207
+ if (!payment.amount) {
208
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO(`${prefix}.payment.amount`));
209
+ }
210
+ else if (typeof payment.amount !== "string") {
211
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.payment.amount`, "deve ser uma string"));
212
+ }
213
+ else {
214
+ const amountErrors = validateAmount(payment.amount, `${prefix}.payment.amount`);
215
+ errors.push(...amountErrors);
216
+ }
217
+ // currency é obrigatório
218
+ if (!payment.currency) {
219
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO(`${prefix}.payment.currency`));
220
+ }
221
+ else if (typeof payment.currency !== "string") {
222
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.payment.currency`, "deve ser uma string"));
223
+ }
224
+ else {
225
+ if (payment.currency.length !== 3) {
226
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.payment.currency`, "deve ter exatamente 3 caracteres"));
227
+ }
228
+ if (!/^[A-Z]{3}$/.test(payment.currency)) {
229
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.payment.currency`, "deve ser um código ISO-4217 (3 letras maiúsculas, ex: BRL)"));
230
+ }
231
+ }
232
+ return errors;
233
+ }
234
+ /**
235
+ * Valida Amount
236
+ */
237
+ function validateAmount(amount, fieldName) {
238
+ const errors = [];
239
+ if (amount.length < 4 || amount.length > 19) {
240
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "deve ter entre 4 e 19 caracteres"));
241
+ }
242
+ // Padrão: até 16 dígitos antes do ponto e 2 depois
243
+ const amountPattern = /^(\d{1,16}\.\d{2})$/;
244
+ if (!amountPattern.test(amount)) {
245
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "deve estar no formato: número com até 16 dígitos antes do ponto e 2 dígitos após (ex: 100000.12)"));
246
+ }
247
+ return errors;
248
+ }
249
+ /**
250
+ * Valida CreditorAccount
251
+ */
252
+ function validateCreditorAccount(account, prefix) {
253
+ const errors = [];
254
+ if (typeof account !== "object" || account === null) {
255
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.creditorAccount`, "deve ser um objeto"));
256
+ return errors;
257
+ }
258
+ // ispb é obrigatório
259
+ if (!account.ispb) {
260
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO(`${prefix}.creditorAccount.ispb`));
261
+ }
262
+ else if (typeof account.ispb !== "string") {
263
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.creditorAccount.ispb`, "deve ser uma string"));
264
+ }
265
+ else {
266
+ const ispbErrors = validateIspb(account.ispb, `${prefix}.creditorAccount.ispb`);
267
+ errors.push(...ispbErrors);
268
+ }
269
+ // number é obrigatório
270
+ if (!account.number) {
271
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO(`${prefix}.creditorAccount.number`));
272
+ }
273
+ else if (typeof account.number !== "string") {
274
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.creditorAccount.number`, "deve ser uma string"));
275
+ }
276
+ else {
277
+ if (account.number.length < 1 || account.number.length > 20) {
278
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.creditorAccount.number`, "deve ter entre 1 e 20 caracteres"));
279
+ }
280
+ if (!/^\d{1,20}$/.test(account.number)) {
281
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.creditorAccount.number`, "deve conter apenas dígitos"));
282
+ }
283
+ }
284
+ // accountType é obrigatório
285
+ if (!account.accountType) {
286
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO(`${prefix}.creditorAccount.accountType`));
287
+ }
288
+ else if (typeof account.accountType !== "string") {
289
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.creditorAccount.accountType`, "deve ser uma string"));
290
+ }
291
+ else {
292
+ if (!VALID_ACCOUNT_TYPES.includes(account.accountType)) {
293
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.creditorAccount.accountType`, `deve ser um de: ${VALID_ACCOUNT_TYPES.join(", ")}`));
294
+ }
295
+ }
296
+ // issuer (opcional) - obrigatório para CACC e SVGS
297
+ if (account.issuer) {
298
+ if (typeof account.issuer !== "string") {
299
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.creditorAccount.issuer`, "deve ser uma string"));
300
+ }
301
+ else {
302
+ if (account.issuer.length < 1 || account.issuer.length > 4) {
303
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.creditorAccount.issuer`, "deve ter entre 1 e 4 caracteres"));
304
+ }
305
+ if (!/^\d{1,4}$/.test(account.issuer)) {
306
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${prefix}.creditorAccount.issuer`, "deve conter apenas dígitos"));
307
+ }
308
+ }
309
+ }
310
+ else if (["CACC", "SVGS"].includes(account.accountType)) {
311
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO(`${prefix}.creditorAccount.issuer`));
312
+ }
313
+ return errors;
314
+ }
315
+ /**
316
+ * Valida ISPB
317
+ */
318
+ function validateIspb(ispb, fieldName) {
319
+ const errors = [];
320
+ if (ispb.length !== 8) {
321
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "deve ter exatamente 8 caracteres"));
322
+ }
323
+ if (!/^[0-9A-Z]{8}$/.test(ispb)) {
324
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "deve conter apenas números e letras maiúsculas"));
325
+ }
326
+ return errors;
327
+ }
328
+ /**
329
+ * Valida CNPJ
330
+ */
331
+ function validateCnpj(cnpj, fieldName) {
332
+ const errors = [];
333
+ if (cnpj.length !== 14) {
334
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "deve ter exatamente 14 caracteres"));
335
+ }
336
+ const pattern = /^[0-9A-Z]{12}[0-9]{2}$/;
337
+ if (!pattern.test(cnpj)) {
338
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "deve estar no padrão [0-9A-Z]{12}[0-9]{2}"));
339
+ }
340
+ return errors;
341
+ }
342
+ //# sourceMappingURL=createPixPayment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPixPayment.js","sourceRoot":"","sources":["../../../src/payments/validators/createPixPayment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Validações para PatchPixPayment
3
+ * Segue as regras especificadas no Open Finance Brasil para Cancelamento de Pagamento PIX
4
+ */
5
+ import { ErrorDetail, ValidationResult } from "../../utils/openFinanceErrors";
6
+ interface PatchPixPaymentDocument {
7
+ identification: string;
8
+ rel: string;
9
+ }
10
+ interface PatchPixPaymentCancelledBy {
11
+ document: PatchPixPaymentDocument;
12
+ }
13
+ interface PatchPixPaymentCancellation {
14
+ cancelledBy: PatchPixPaymentCancelledBy;
15
+ }
16
+ interface PatchPixPaymentData {
17
+ status: string;
18
+ cancellation: PatchPixPaymentCancellation;
19
+ }
20
+ interface PatchPixPaymentPayload {
21
+ data: PatchPixPaymentData;
22
+ }
23
+ /**
24
+ * Valida o payload de cancelamento de pagamento PIX
25
+ */
26
+ export declare function validatePatchPixPayment(payload: any): ValidationResult;
27
+ /**
28
+ * Valida motivo do cancelamento (usado em respostas)
29
+ */
30
+ export declare function validateCancellationReason(reason: string): ErrorDetail[];
31
+ /**
32
+ * Valida origem do cancelamento (usado em respostas)
33
+ */
34
+ export declare function validateCancellationFrom(from: string): ErrorDetail[];
35
+ /**
36
+ * Valida data/hora de cancelamento (RFC-3339)
37
+ */
38
+ export declare function validateCancellationDateTime(dateTime: string): ErrorDetail[];
39
+ export { PatchPixPaymentPayload, PatchPixPaymentData, PatchPixPaymentCancellation, PatchPixPaymentCancelledBy, PatchPixPaymentDocument, };
40
+ //# sourceMappingURL=patchPixPayment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patchPixPayment.d.ts","sourceRoot":"","sources":["../../../src/payments/validators/patchPixPayment.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,WAAW,EACX,gBAAgB,EAGjB,MAAM,+BAA+B,CAAC;AAGvC,UAAU,uBAAuB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,0BAA0B;IAClC,QAAQ,EAAE,uBAAuB,CAAC;CACnC;AAED,UAAU,2BAA2B;IACnC,WAAW,EAAE,0BAA0B,CAAC;CACzC;AAED,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,2BAA2B,CAAC;CAC3C;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAoBD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,CA0CtE;AAyJD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CAoBxE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAoBpE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAwB5E;AAED,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,GACxB,CAAC"}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ /**
3
+ * Validações para PatchPixPayment
4
+ * Segue as regras especificadas no Open Finance Brasil para Cancelamento de Pagamento PIX
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.validatePatchPixPayment = validatePatchPixPayment;
8
+ exports.validateCancellationReason = validateCancellationReason;
9
+ exports.validateCancellationFrom = validateCancellationFrom;
10
+ exports.validateCancellationDateTime = validateCancellationDateTime;
11
+ const openFinanceErrors_1 = require("../../utils/openFinanceErrors");
12
+ // Valid cancellation status values according to OFB spec
13
+ const VALID_CANCELLATION_STATUS = ["CANC"];
14
+ // Valid cancellation reason types
15
+ const VALID_CANCELLATION_REASONS = [
16
+ "USER",
17
+ "ACCOUNT",
18
+ "CREDITOR",
19
+ "CREDITOR_AGENT",
20
+ "DEBTOR",
21
+ "DEBTOR_AGENT",
22
+ "PAYMENT_FAILURE",
23
+ "COMPLIANCE",
24
+ ];
25
+ // Valid cancellation sources
26
+ const VALID_CANCELLATION_FROM = ["DEBTOR", "CREDITOR"];
27
+ /**
28
+ * Valida o payload de cancelamento de pagamento PIX
29
+ */
30
+ function validatePatchPixPayment(payload) {
31
+ const errors = [];
32
+ // Validação: data deve existir
33
+ if (!payload.data) {
34
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("data"));
35
+ return { isValid: false, errors };
36
+ }
37
+ const data = payload.data;
38
+ // Validação: status é obrigatório
39
+ if (!data.status) {
40
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("data.status"));
41
+ }
42
+ else if (typeof data.status !== "string") {
43
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("data.status", "deve ser uma string"));
44
+ }
45
+ else {
46
+ // Validar status contra valores permitidos
47
+ if (!VALID_CANCELLATION_STATUS.includes(data.status)) {
48
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("data.status", `deve ser um de: ${VALID_CANCELLATION_STATUS.join(", ")}`));
49
+ }
50
+ }
51
+ // Validação: cancellation é obrigatório
52
+ if (!data.cancellation) {
53
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("data.cancellation"));
54
+ }
55
+ else {
56
+ const cancellationErrors = validateCancellation(data.cancellation);
57
+ errors.push(...cancellationErrors);
58
+ }
59
+ return {
60
+ isValid: errors.length === 0,
61
+ errors,
62
+ };
63
+ }
64
+ /**
65
+ * Valida objeto Cancellation
66
+ */
67
+ function validateCancellation(cancellation) {
68
+ const errors = [];
69
+ if (typeof cancellation !== "object" || cancellation === null) {
70
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("data.cancellation", "deve ser um objeto"));
71
+ return errors;
72
+ }
73
+ // cancelledBy é obrigatório
74
+ if (!cancellation.cancelledBy) {
75
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("data.cancellation.cancelledBy"));
76
+ }
77
+ else {
78
+ const cancelledByErrors = validateCancelledBy(cancellation.cancelledBy);
79
+ errors.push(...cancelledByErrors);
80
+ }
81
+ return errors;
82
+ }
83
+ /**
84
+ * Valida objeto CancelledBy
85
+ */
86
+ function validateCancelledBy(cancelledBy) {
87
+ const errors = [];
88
+ if (typeof cancelledBy !== "object" || cancelledBy === null) {
89
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("data.cancellation.cancelledBy", "deve ser um objeto"));
90
+ return errors;
91
+ }
92
+ // document é obrigatório
93
+ if (!cancelledBy.document) {
94
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("data.cancellation.cancelledBy.document"));
95
+ }
96
+ else {
97
+ const documentErrors = validateDocument(cancelledBy.document);
98
+ errors.push(...documentErrors);
99
+ }
100
+ return errors;
101
+ }
102
+ /**
103
+ * Valida documento do usuário que cancelou
104
+ */
105
+ function validateDocument(document) {
106
+ const errors = [];
107
+ if (typeof document !== "object" || document === null) {
108
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("data.cancellation.cancelledBy.document", "deve ser um objeto"));
109
+ return errors;
110
+ }
111
+ // identification é obrigatório
112
+ if (!document.identification) {
113
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("data.cancellation.cancelledBy.document.identification"));
114
+ }
115
+ else if (typeof document.identification !== "string") {
116
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("data.cancellation.cancelledBy.document.identification", "deve ser uma string"));
117
+ }
118
+ else {
119
+ // Validar maxLength: 11
120
+ if (document.identification.length > 11) {
121
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("data.cancellation.cancelledBy.document.identification", "deve ter no máximo 11 caracteres"));
122
+ }
123
+ // Validar padrão: ^\d{11}$ (11 dígitos)
124
+ if (!/^\d{11}$/.test(document.identification)) {
125
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("data.cancellation.cancelledBy.document.identification", "deve conter apenas 11 dígitos"));
126
+ }
127
+ }
128
+ // rel é obrigatório
129
+ if (!document.rel) {
130
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("data.cancellation.cancelledBy.document.rel"));
131
+ }
132
+ else if (typeof document.rel !== "string") {
133
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("data.cancellation.cancelledBy.document.rel", "deve ser uma string"));
134
+ }
135
+ else {
136
+ // Validar maxLength: 3
137
+ if (document.rel.length > 3) {
138
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("data.cancellation.cancelledBy.document.rel", "deve ter no máximo 3 caracteres"));
139
+ }
140
+ // Validar padrão: ^[A-Z]{3}$ (3 letras maiúsculas)
141
+ if (!/^[A-Z]{3}$/.test(document.rel)) {
142
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("data.cancellation.cancelledBy.document.rel", "deve conter 3 letras maiúsculas (ex: CPF)"));
143
+ }
144
+ }
145
+ return errors;
146
+ }
147
+ /**
148
+ * Valida motivo do cancelamento (usado em respostas)
149
+ */
150
+ function validateCancellationReason(reason) {
151
+ const errors = [];
152
+ if (!reason || typeof reason !== "string") {
153
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("reason", "deve ser uma string não vazia"));
154
+ return errors;
155
+ }
156
+ if (!VALID_CANCELLATION_REASONS.includes(reason)) {
157
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("reason", `deve ser um de: ${VALID_CANCELLATION_REASONS.join(", ")}`));
158
+ }
159
+ return errors;
160
+ }
161
+ /**
162
+ * Valida origem do cancelamento (usado em respostas)
163
+ */
164
+ function validateCancellationFrom(from) {
165
+ const errors = [];
166
+ if (!from || typeof from !== "string") {
167
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("cancelledFrom", "deve ser uma string não vazia"));
168
+ return errors;
169
+ }
170
+ if (!VALID_CANCELLATION_FROM.includes(from)) {
171
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("cancelledFrom", `deve ser um de: ${VALID_CANCELLATION_FROM.join(", ")}`));
172
+ }
173
+ return errors;
174
+ }
175
+ /**
176
+ * Valida data/hora de cancelamento (RFC-3339)
177
+ */
178
+ function validateCancellationDateTime(dateTime) {
179
+ const errors = [];
180
+ if (!dateTime || typeof dateTime !== "string") {
181
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("cancelledAt", "deve ser uma data/hora válida em RFC-3339"));
182
+ return errors;
183
+ }
184
+ // Validar formato RFC-3339 básico
185
+ const rfc3339Pattern = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d{3})?Z$/;
186
+ if (!rfc3339Pattern.test(dateTime)) {
187
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("cancelledAt", "deve estar no formato RFC-3339 (ex: 2023-12-22T10:30:00Z)"));
188
+ }
189
+ return errors;
190
+ }
191
+ //# sourceMappingURL=patchPixPayment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patchPixPayment.js","sourceRoot":"","sources":["../../../src/payments/validators/patchPixPayment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Recurring Payments Module - Exports all validators and success responses
3
+ */
4
+ export { validateCreateRecurringConsent } from "./validators/createRecurringConsent";
5
+ export type { CreateRecurringConsentPayload } from "./validators/createRecurringConsent";
6
+ export { validatePatchRecurringConsent } from "./validators/patchRecurringConsent";
7
+ export type { PatchRecurringConsentPayload } from "./validators/patchRecurringConsent";
8
+ export { validateCreateRecurringRetryPixPayment } from "./validators/createRecurringRetryPixPayment";
9
+ export type { CreateRecurringRetryPixPaymentPayload } from "./validators/createRecurringRetryPixPayment";
10
+ export { validatePatchRecurringPixPayment } from "./validators/patchPixPayment";
11
+ export type { PatchRecurringPixPaymentPayload } from "./validators/patchPixPayment";
12
+ export type { CreateRecurringConsentSuccessResponse, GetRecurringConsentSuccessResponse, PatchRecurringConsentSuccessResponse, CreateRecurringPixPaymentSuccessResponse, GetRecurringPixPaymentSuccessResponse, CreateRecurringRetryPixPaymentSuccessResponse, PatchRecurringPixPaymentSuccessResponse, } from "./successResponses";
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recurring-payments/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,YAAY,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAEzF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,YAAY,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAGvF,OAAO,EAAE,sCAAsC,EAAE,MAAM,6CAA6C,CAAC;AACrG,YAAY,EAAE,qCAAqC,EAAE,MAAM,6CAA6C,CAAC;AAEzG,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAChF,YAAY,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAGpF,YAAY,EACV,qCAAqC,EACrC,kCAAkC,EAClC,oCAAoC,EACpC,wCAAwC,EACxC,qCAAqC,EACrC,6CAA6C,EAC7C,uCAAuC,GACxC,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /**
3
+ * Recurring Payments Module - Exports all validators and success responses
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validatePatchRecurringPixPayment = exports.validateCreateRecurringRetryPixPayment = exports.validatePatchRecurringConsent = exports.validateCreateRecurringConsent = void 0;
7
+ // Consent Validators
8
+ var createRecurringConsent_1 = require("./validators/createRecurringConsent");
9
+ Object.defineProperty(exports, "validateCreateRecurringConsent", { enumerable: true, get: function () { return createRecurringConsent_1.validateCreateRecurringConsent; } });
10
+ var patchRecurringConsent_1 = require("./validators/patchRecurringConsent");
11
+ Object.defineProperty(exports, "validatePatchRecurringConsent", { enumerable: true, get: function () { return patchRecurringConsent_1.validatePatchRecurringConsent; } });
12
+ // Payment Validators
13
+ var createRecurringRetryPixPayment_1 = require("./validators/createRecurringRetryPixPayment");
14
+ Object.defineProperty(exports, "validateCreateRecurringRetryPixPayment", { enumerable: true, get: function () { return createRecurringRetryPixPayment_1.validateCreateRecurringRetryPixPayment; } });
15
+ var patchPixPayment_1 = require("./validators/patchPixPayment");
16
+ Object.defineProperty(exports, "validatePatchRecurringPixPayment", { enumerable: true, get: function () { return patchPixPayment_1.validatePatchRecurringPixPayment; } });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recurring-payments/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qBAAqB;AACrB,8EAAqF;AAA5E,wIAAA,8BAA8B,OAAA;AAGvC,4EAAmF;AAA1E,sIAAA,6BAA6B,OAAA;AAGtC,qBAAqB;AACrB,8FAAqG;AAA5F,wJAAA,sCAAsC,OAAA;AAG/C,gEAAgF;AAAvE,mIAAA,gCAAgC,OAAA"}