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,508 @@
1
+ "use strict";
2
+ /**
3
+ * Validações para CreatePaymentConsent
4
+ * Segue as regras especificadas no Open Finance Brasil para Iniciação de Pagamento
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.validateCreatePaymentConsent = validateCreatePaymentConsent;
8
+ const openFinanceErrors_1 = require("../../utils/openFinanceErrors");
9
+ const paymentErrors_1 = require("../../utils/paymentErrors");
10
+ /**
11
+ * Valida o payload de criação de consentimento de pagamento
12
+ */
13
+ function validateCreatePaymentConsent(payload) {
14
+ const errors = [];
15
+ // Validação: data deve existir
16
+ if (!payload.data) {
17
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("data"));
18
+ return { isValid: false, errors };
19
+ }
20
+ const data = payload.data;
21
+ // Validação: loggedUser é obrigatório
22
+ if (!data.loggedUser) {
23
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("loggedUser"));
24
+ }
25
+ else {
26
+ const loggedUserErrors = validateLoggedUserPayment(data.loggedUser);
27
+ errors.push(...loggedUserErrors);
28
+ }
29
+ // Validação: creditor é obrigatório
30
+ if (!data.creditor) {
31
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("creditor"));
32
+ }
33
+ else {
34
+ const creditorErrors = validateCreditor(data.creditor);
35
+ errors.push(...creditorErrors);
36
+ }
37
+ // Validação: payment é obrigatório
38
+ if (!data.payment) {
39
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("payment"));
40
+ }
41
+ else {
42
+ const paymentErrors = validatePayment(data.payment);
43
+ errors.push(...paymentErrors);
44
+ }
45
+ // Validação: businessEntity (opcional)
46
+ if (data.businessEntity) {
47
+ const businessEntityErrors = validateBusinessEntityPayment(data.businessEntity);
48
+ errors.push(...businessEntityErrors);
49
+ }
50
+ // Validação: debtorAccount (opcional)
51
+ if (data.debtorAccount) {
52
+ const debtorAccountErrors = validateDebtorAccount(data.debtorAccount);
53
+ errors.push(...debtorAccountErrors);
54
+ }
55
+ return {
56
+ isValid: errors.length === 0,
57
+ errors,
58
+ };
59
+ }
60
+ /**
61
+ * Valida LoggedUserPayment
62
+ */
63
+ function validateLoggedUserPayment(loggedUser) {
64
+ const errors = [];
65
+ if (typeof loggedUser !== "object" || loggedUser === null) {
66
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser", "deve ser um objeto"));
67
+ return errors;
68
+ }
69
+ if (!loggedUser.document) {
70
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("loggedUser.document"));
71
+ }
72
+ else {
73
+ const documentErrors = validateLoggedUserDocument(loggedUser.document);
74
+ errors.push(...documentErrors);
75
+ }
76
+ return errors;
77
+ }
78
+ /**
79
+ * Valida LoggedUserDocument
80
+ */
81
+ function validateLoggedUserDocument(document) {
82
+ const errors = [];
83
+ if (typeof document !== "object" || document === null) {
84
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document", "deve ser um objeto"));
85
+ return errors;
86
+ }
87
+ // identification é obrigatório
88
+ if (!document.identification) {
89
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("loggedUser.document.identification"));
90
+ }
91
+ else if (typeof document.identification !== "string") {
92
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document.identification", "deve ser uma string"));
93
+ }
94
+ else {
95
+ // Validar maxLength: 11
96
+ if (document.identification.length > 11) {
97
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document.identification", "deve ter no máximo 11 caracteres"));
98
+ }
99
+ // Validar padrão: ^\d{11}$ (apenas dígitos)
100
+ if (!/^\d{11}$/.test(document.identification)) {
101
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document.identification", "deve conter apenas 11 dígitos"));
102
+ }
103
+ }
104
+ // rel é obrigatório
105
+ if (!document.rel) {
106
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("loggedUser.document.rel"));
107
+ }
108
+ else if (typeof document.rel !== "string") {
109
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document.rel", "deve ser uma string"));
110
+ }
111
+ else {
112
+ // Validar maxLength: 3
113
+ if (document.rel.length > 3) {
114
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document.rel", "deve ter no máximo 3 caracteres"));
115
+ }
116
+ // Validar padrão: ^[A-Z]{3}$ (3 letras maiúsculas)
117
+ if (!/^[A-Z]{3}$/.test(document.rel)) {
118
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document.rel", "deve conter 3 letras maiúsculas (ex: CPF)"));
119
+ }
120
+ }
121
+ return errors;
122
+ }
123
+ /**
124
+ * Valida Creditor (Identification)
125
+ */
126
+ function validateCreditor(creditor) {
127
+ const errors = [];
128
+ if (typeof creditor !== "object" || creditor === null) {
129
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("creditor", "deve ser um objeto"));
130
+ return errors;
131
+ }
132
+ // personType é obrigatório
133
+ if (!creditor.personType) {
134
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("creditor.personType"));
135
+ }
136
+ else if (typeof creditor.personType !== "string") {
137
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("creditor.personType", "deve ser uma string"));
138
+ }
139
+ // cpfCnpj é obrigatório
140
+ if (!creditor.cpfCnpj) {
141
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("creditor.cpfCnpj"));
142
+ }
143
+ else if (typeof creditor.cpfCnpj !== "string") {
144
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("creditor.cpfCnpj", "deve ser uma string"));
145
+ }
146
+ else {
147
+ const cpfCnpjErrors = validateCpfCnpj(creditor.cpfCnpj);
148
+ errors.push(...cpfCnpjErrors);
149
+ }
150
+ // name é obrigatório
151
+ if (!creditor.name) {
152
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("creditor.name"));
153
+ }
154
+ else if (typeof creditor.name !== "string") {
155
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("creditor.name", "deve ser uma string"));
156
+ }
157
+ else {
158
+ if (creditor.name.length > 150) {
159
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("creditor.name", "deve ter no máximo 150 caracteres"));
160
+ }
161
+ // Validar padrão: ^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d' -]+)$
162
+ const namePattern = /^([A-Za-zÀ-ÖØ-öø-ÿ,.@:&*+_<>()!?/\\$%\d' -]+)$/;
163
+ if (!namePattern.test(creditor.name)) {
164
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("creditor.name", "contém caracteres inválidos"));
165
+ }
166
+ }
167
+ return errors;
168
+ }
169
+ /**
170
+ * Valida CPF/CNPJ
171
+ * CPF: 11 dígitos (^\d{11}$)
172
+ * CNPJ: 14 caracteres no padrão ^([0-9A-Z]{12}[0-9]{2})$
173
+ */
174
+ function validateCpfCnpj(cpfCnpj) {
175
+ const errors = [];
176
+ if (cpfCnpj.length < 11 || cpfCnpj.length > 14) {
177
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("creditor.cpfCnpj", "deve ter entre 11 e 14 caracteres"));
178
+ return errors;
179
+ }
180
+ // Validar padrão: '^([0-9]{11})$|^([0-9A-Z]{12}[0-9]{2})$'
181
+ const cpfCnpjPattern = /^([0-9]{11})$|^([0-9A-Z]{12}[0-9]{2})$/;
182
+ if (!cpfCnpjPattern.test(cpfCnpj)) {
183
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("creditor.cpfCnpj", "deve ser um CPF (11 dígitos) ou CNPJ válido (14 caracteres)"));
184
+ }
185
+ return errors;
186
+ }
187
+ /**
188
+ * Valida Payment
189
+ */
190
+ function validatePayment(payment) {
191
+ const errors = [];
192
+ if (typeof payment !== "object" || payment === null) {
193
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment", "deve ser um objeto"));
194
+ return errors;
195
+ }
196
+ // type é obrigatório
197
+ if (!payment.type) {
198
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("payment.type"));
199
+ }
200
+ else if (typeof payment.type !== "string") {
201
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment.type", "deve ser uma string"));
202
+ }
203
+ else {
204
+ // Validar enum: PIX
205
+ if (payment.type !== "PIX") {
206
+ errors.push(paymentErrors_1.PaymentErrors.FORMA_PAGAMENTO_INVALIDA(payment.type));
207
+ }
208
+ }
209
+ // currency é obrigatório
210
+ if (!payment.currency) {
211
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("payment.currency"));
212
+ }
213
+ else if (typeof payment.currency !== "string") {
214
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment.currency", "deve ser uma string"));
215
+ }
216
+ else {
217
+ if (payment.currency.length > 3) {
218
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment.currency", "deve ter no máximo 3 caracteres"));
219
+ }
220
+ // Validar padrão: ^([A-Z]{3})$
221
+ if (!/^[A-Z]{3}$/.test(payment.currency)) {
222
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment.currency", "deve ser um código ISO-4217 (3 letras maiúsculas, ex: BRL)"));
223
+ }
224
+ }
225
+ // amount é obrigatório
226
+ if (!payment.amount) {
227
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("payment.amount"));
228
+ }
229
+ else if (typeof payment.amount !== "string") {
230
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment.amount", "deve ser uma string"));
231
+ }
232
+ else {
233
+ const amountErrors = validateAmount(payment.amount);
234
+ errors.push(...amountErrors);
235
+ }
236
+ // details é obrigatório
237
+ if (!payment.details) {
238
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("payment.details"));
239
+ }
240
+ else {
241
+ const detailsErrors = validateDetails(payment.details);
242
+ errors.push(...detailsErrors);
243
+ }
244
+ // porpuse (opcional) - quando presente, deve ser um valor válido
245
+ if (payment.porpuse) {
246
+ const validPurposes = [
247
+ "IMMEDIATE",
248
+ "SINGLE_SCHEDULED",
249
+ "RECURRENT_SCHEDULED",
250
+ "WITHDRAW",
251
+ "CHANGE",
252
+ ];
253
+ if (!validPurposes.includes(payment.porpuse)) {
254
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment.porpuse", `deve ser um dos valores: ${validPurposes.join(", ")}`));
255
+ }
256
+ }
257
+ // date e schedule são mutuamente excludentes
258
+ if (payment.date && payment.schedule) {
259
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment", "campos 'date' e 'schedule' são mutuamente excludentes"));
260
+ }
261
+ // Se date está presente, validar formato
262
+ if (payment.date) {
263
+ const dateErrors = validateDate(payment.date);
264
+ errors.push(...dateErrors);
265
+ }
266
+ // ibgeTownCode (opcional) - validar se presente
267
+ if (payment.ibgeTownCode) {
268
+ const ibgeErrors = validateIbgeTownCode(payment.ibgeTownCode);
269
+ errors.push(...ibgeErrors);
270
+ }
271
+ return errors;
272
+ }
273
+ /**
274
+ * Valida Amount
275
+ * Padrão: ^((\d{1,16}\.\d{2}))$
276
+ */
277
+ function validateAmount(amount) {
278
+ const errors = [];
279
+ if (amount.length < 4 || amount.length > 19) {
280
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment.amount", "deve ter entre 4 e 19 caracteres"));
281
+ }
282
+ // Validar padrão: ^((\d{1,16}\.\d{2}))$
283
+ const amountPattern = /^(\d{1,16}\.\d{2})$/;
284
+ if (!amountPattern.test(amount)) {
285
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment.amount", "deve estar no formato: número com até 16 dígitos antes do ponto e 2 dígitos após (ex: 100000.12)"));
286
+ }
287
+ return errors;
288
+ }
289
+ /**
290
+ * Valida Details
291
+ */
292
+ function validateDetails(details) {
293
+ const errors = [];
294
+ if (typeof details !== "object" || details === null) {
295
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment.details", "deve ser um objeto"));
296
+ return errors;
297
+ }
298
+ // localInstrument é obrigatório
299
+ if (!details.localInstrument) {
300
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("payment.details.localInstrument"));
301
+ }
302
+ else if (typeof details.localInstrument !== "string") {
303
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment.details.localInstrument", "deve ser uma string"));
304
+ }
305
+ // creditorAccount é obrigatório
306
+ if (!details.creditorAccount) {
307
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("payment.details.creditorAccount"));
308
+ }
309
+ else {
310
+ const creditorAccountErrors = validateCreditorAccount(details.creditorAccount);
311
+ errors.push(...creditorAccountErrors);
312
+ }
313
+ // qrCode (opcional) - validar se presente
314
+ if (details.qrCode) {
315
+ if (typeof details.qrCode !== "string") {
316
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment.details.qrCode", "deve ser uma string"));
317
+ }
318
+ else if (details.qrCode.length > 512) {
319
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment.details.qrCode", "deve ter no máximo 512 caracteres"));
320
+ }
321
+ }
322
+ return errors;
323
+ }
324
+ /**
325
+ * Valida CreditorAccount
326
+ */
327
+ function validateCreditorAccount(account) {
328
+ const errors = [];
329
+ if (typeof account !== "object" || account === null) {
330
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("creditorAccount", "deve ser um objeto"));
331
+ return errors;
332
+ }
333
+ // ispb é obrigatório
334
+ if (!account.ispb) {
335
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("creditorAccount.ispb"));
336
+ }
337
+ else if (typeof account.ispb !== "string") {
338
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("creditorAccount.ispb", "deve ser uma string"));
339
+ }
340
+ else {
341
+ const ispbErrors = validateIspb(account.ispb, "creditorAccount");
342
+ errors.push(...ispbErrors);
343
+ }
344
+ // number é obrigatório
345
+ if (!account.number) {
346
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("creditorAccount.number"));
347
+ }
348
+ else if (typeof account.number !== "string") {
349
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("creditorAccount.number", "deve ser uma string"));
350
+ }
351
+ else {
352
+ if (account.number.length < 1 || account.number.length > 20) {
353
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("creditorAccount.number", "deve ter entre 1 e 20 caracteres"));
354
+ }
355
+ if (!/^\d{1,20}$/.test(account.number)) {
356
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("creditorAccount.number", "deve conter apenas dígitos"));
357
+ }
358
+ }
359
+ // accountType é obrigatório
360
+ if (!account.accountType) {
361
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("creditorAccount.accountType"));
362
+ }
363
+ return errors;
364
+ }
365
+ /**
366
+ * Valida ISPB
367
+ * Padrão: ^[0-9A-Z]{8}$
368
+ */
369
+ function validateIspb(ispb, fieldPrefix = "ispb") {
370
+ const errors = [];
371
+ const fieldName = fieldPrefix ? `${fieldPrefix}.ispb` : "ispb";
372
+ if (ispb.length !== 8) {
373
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "deve ter exatamente 8 caracteres"));
374
+ }
375
+ if (!/^[0-9A-Z]{8}$/.test(ispb)) {
376
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "deve conter apenas números e letras maiúsculas"));
377
+ }
378
+ return errors;
379
+ }
380
+ /**
381
+ * Valida Date
382
+ * Padrão: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$
383
+ */
384
+ function validateDate(date) {
385
+ const errors = [];
386
+ if (date.length > 10) {
387
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment.date", "deve ter no máximo 10 caracteres"));
388
+ }
389
+ const datePattern = /^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$/;
390
+ if (!datePattern.test(date)) {
391
+ errors.push(paymentErrors_1.PaymentErrors.DATA_PAGAMENTO_INVALIDA());
392
+ }
393
+ return errors;
394
+ }
395
+ /**
396
+ * Valida IBGE Town Code
397
+ * Padrão: ^\d{7}$
398
+ */
399
+ function validateIbgeTownCode(code) {
400
+ const errors = [];
401
+ if (code.length !== 7) {
402
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment.ibgeTownCode", "deve ter exatamente 7 dígitos"));
403
+ }
404
+ if (!/^\d{7}$/.test(code)) {
405
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("payment.ibgeTownCode", "deve conter apenas dígitos"));
406
+ }
407
+ return errors;
408
+ }
409
+ /**
410
+ * Valida BusinessEntityPayment
411
+ */
412
+ function validateBusinessEntityPayment(businessEntity) {
413
+ const errors = [];
414
+ if (typeof businessEntity !== "object" || businessEntity === null) {
415
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity", "deve ser um objeto"));
416
+ return errors;
417
+ }
418
+ if (!businessEntity.document) {
419
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("businessEntity.document"));
420
+ }
421
+ else {
422
+ const documentErrors = validateBusinessEntityDocument(businessEntity.document);
423
+ errors.push(...documentErrors);
424
+ }
425
+ return errors;
426
+ }
427
+ /**
428
+ * Valida BusinessEntityDocument
429
+ */
430
+ function validateBusinessEntityDocument(document) {
431
+ const errors = [];
432
+ if (typeof document !== "object" || document === null) {
433
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity.document", "deve ser um objeto"));
434
+ return errors;
435
+ }
436
+ if (!document.identification) {
437
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("businessEntity.document.identification"));
438
+ }
439
+ else if (typeof document.identification !== "string") {
440
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity.document.identification", "deve ser uma string"));
441
+ }
442
+ if (!document.rel) {
443
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("businessEntity.document.rel"));
444
+ }
445
+ else if (typeof document.rel !== "string") {
446
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity.document.rel", "deve ser uma string"));
447
+ }
448
+ return errors;
449
+ }
450
+ /**
451
+ * Valida DebtorAccount
452
+ */
453
+ function validateDebtorAccount(account) {
454
+ const errors = [];
455
+ if (typeof account !== "object" || account === null) {
456
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("debtorAccount", "deve ser um objeto"));
457
+ return errors;
458
+ }
459
+ // ispb é obrigatório
460
+ if (!account.ispb) {
461
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("debtorAccount.ispb"));
462
+ }
463
+ else if (typeof account.ispb !== "string") {
464
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("debtorAccount.ispb", "deve ser uma string"));
465
+ }
466
+ else {
467
+ const ispbErrors = validateIspb(account.ispb, "debtorAccount");
468
+ errors.push(...ispbErrors);
469
+ }
470
+ // number é obrigatório
471
+ if (!account.number) {
472
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("debtorAccount.number"));
473
+ }
474
+ else if (typeof account.number !== "string") {
475
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("debtorAccount.number", "deve ser uma string"));
476
+ }
477
+ else {
478
+ if (account.number.length < 1 || account.number.length > 20) {
479
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("debtorAccount.number", "deve ter entre 1 e 20 caracteres"));
480
+ }
481
+ if (!/^\d{1,20}$/.test(account.number)) {
482
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("debtorAccount.number", "deve conter apenas dígitos"));
483
+ }
484
+ }
485
+ // accountType é obrigatório
486
+ if (!account.accountType) {
487
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("debtorAccount.accountType"));
488
+ }
489
+ else if (typeof account.accountType !== "string") {
490
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("debtorAccount.accountType", "deve ser uma string"));
491
+ }
492
+ // issuer (opcional)
493
+ if (account.issuer) {
494
+ if (typeof account.issuer !== "string") {
495
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("debtorAccount.issuer", "deve ser uma string"));
496
+ }
497
+ else {
498
+ if (account.issuer.length < 1 || account.issuer.length > 4) {
499
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("debtorAccount.issuer", "deve ter entre 1 e 4 caracteres"));
500
+ }
501
+ if (!/^\d{1,4}$/.test(account.issuer)) {
502
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("debtorAccount.issuer", "deve conter apenas dígitos"));
503
+ }
504
+ }
505
+ }
506
+ return errors;
507
+ }
508
+ //# sourceMappingURL=createPaymentConsent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPaymentConsent.js","sourceRoot":"","sources":["../../../src/payments/validators/createPaymentConsent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Validações para CreatePixPayment
3
+ * Segue as regras especificadas no Open Finance Brasil para Criação de Pagamento PIX
4
+ */
5
+ import { ValidationResult } from "../../utils/openFinanceErrors";
6
+ interface PixPaymentData {
7
+ endToEndId: string;
8
+ localInstrument: string;
9
+ payment: {
10
+ amount: string;
11
+ currency: string;
12
+ };
13
+ creditorAccount: {
14
+ ispb: string;
15
+ issuer?: string;
16
+ number: string;
17
+ accountType: string;
18
+ };
19
+ remittanceInformation?: string;
20
+ qrCode?: string;
21
+ proxy?: string;
22
+ cnpjInitiator: string;
23
+ transactionIdentification?: string;
24
+ authorisationFlow?: string;
25
+ consentId?: string;
26
+ }
27
+ interface CreatePixPaymentPayload {
28
+ data: PixPaymentData[];
29
+ }
30
+ /**
31
+ * Valida o payload de criação de pagamento PIX
32
+ */
33
+ export declare function validateCreatePixPayment(payload: any): ValidationResult;
34
+ export { CreatePixPaymentPayload, PixPaymentData, };
35
+ //# sourceMappingURL=createPixPayment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPixPayment.d.ts","sourceRoot":"","sources":["../../../src/payments/validators/createPixPayment.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,gBAAgB,EAGjB,MAAM,+BAA+B,CAAC;AAEvC,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,eAAe,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,uBAAuB;IAC/B,IAAI,EAAE,cAAc,EAAE,CAAC;CACxB;AAiBD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,CAiCvE;AA6fD,OAAO,EACL,uBAAuB,EACvB,cAAc,GACf,CAAC"}