@fiado/type-kit 3.463.0 → 3.464.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 (84) hide show
  1. package/_test_/unit/moneyTransfer/dtos.test.ts +298 -0
  2. package/_test_/unit/moneyTransfer/enums.test.ts +56 -0
  3. package/_test_/unit/stpSpei/additive.test.ts +84 -0
  4. package/bin/bankAccount/enums/BeneficiaryAccountTypeEnum.d.ts +20 -0
  5. package/bin/bankAccount/enums/BeneficiaryAccountTypeEnum.js +24 -0
  6. package/bin/bankAccount/index.d.ts +1 -0
  7. package/bin/bankAccount/index.js +1 -0
  8. package/bin/index.d.ts +1 -0
  9. package/bin/index.js +5 -1
  10. package/bin/moneyTransfer/dtos/BatchScheduleRequest.d.ts +7 -0
  11. package/bin/moneyTransfer/dtos/BatchScheduleRequest.js +28 -0
  12. package/bin/moneyTransfer/dtos/CreateSettlementRequest.d.ts +12 -0
  13. package/bin/moneyTransfer/dtos/CreateSettlementRequest.js +42 -0
  14. package/bin/moneyTransfer/dtos/MoneyTransferProductRequest.d.ts +37 -0
  15. package/bin/moneyTransfer/dtos/MoneyTransferProductRequest.js +131 -0
  16. package/bin/moneyTransfer/dtos/MoneyTransferServiceCreateRequest.d.ts +22 -0
  17. package/bin/moneyTransfer/dtos/MoneyTransferServiceCreateRequest.js +88 -0
  18. package/bin/moneyTransfer/dtos/MoneyTransferServiceUpdateRequest.d.ts +22 -0
  19. package/bin/moneyTransfer/dtos/MoneyTransferServiceUpdateRequest.js +103 -0
  20. package/bin/moneyTransfer/dtos/PendingDetailsResponse.d.ts +8 -0
  21. package/bin/moneyTransfer/dtos/PendingDetailsResponse.js +7 -0
  22. package/bin/moneyTransfer/dtos/RescheduleSettlementRequest.d.ts +5 -0
  23. package/bin/moneyTransfer/dtos/RescheduleSettlementRequest.js +23 -0
  24. package/bin/moneyTransfer/dtos/SettlementActionRequest.d.ts +4 -0
  25. package/bin/moneyTransfer/dtos/SettlementActionRequest.js +21 -0
  26. package/bin/moneyTransfer/dtos/SettlementListResponse.d.ts +6 -0
  27. package/bin/moneyTransfer/dtos/SettlementListResponse.js +7 -0
  28. package/bin/moneyTransfer/dtos/SettlementResponse.d.ts +36 -0
  29. package/bin/moneyTransfer/dtos/SettlementResponse.js +10 -0
  30. package/bin/moneyTransfer/dtos/SettlementStatusMessage.d.ts +12 -0
  31. package/bin/moneyTransfer/dtos/SettlementStatusMessage.js +38 -0
  32. package/bin/moneyTransfer/dtos/TransactionDetailResponse.d.ts +24 -0
  33. package/bin/moneyTransfer/dtos/TransactionDetailResponse.js +10 -0
  34. package/bin/moneyTransfer/enums/SettlementModeEnum.d.ts +5 -0
  35. package/bin/moneyTransfer/enums/SettlementModeEnum.js +9 -0
  36. package/bin/moneyTransfer/enums/SettlementStatusEnum.d.ts +11 -0
  37. package/bin/moneyTransfer/enums/SettlementStatusEnum.js +15 -0
  38. package/bin/moneyTransfer/enums/SpeiOrderStatusEnum.d.ts +11 -0
  39. package/bin/moneyTransfer/enums/SpeiOrderStatusEnum.js +15 -0
  40. package/bin/moneyTransfer/enums/TransactionDetailStatusEnum.d.ts +7 -0
  41. package/bin/moneyTransfer/enums/TransactionDetailStatusEnum.js +11 -0
  42. package/bin/moneyTransfer/enums/TransferChannelEnum.d.ts +5 -0
  43. package/bin/moneyTransfer/enums/TransferChannelEnum.js +9 -0
  44. package/bin/moneyTransfer/index.d.ts +17 -0
  45. package/bin/moneyTransfer/index.js +40 -0
  46. package/bin/productCatalog/enums/ProductTypeEnum.d.ts +6 -1
  47. package/bin/productCatalog/enums/ProductTypeEnum.js +5 -0
  48. package/bin/provider/enums/Provider.d.ts +2 -1
  49. package/bin/provider/enums/Provider.js +1 -0
  50. package/bin/stpSpei/dtos/ConsultStpOrderRequest.d.ts +8 -0
  51. package/bin/stpSpei/dtos/ConsultStpOrderRequest.js +6 -0
  52. package/bin/stpSpei/dtos/PutStpOrderRequest.d.ts +16 -8
  53. package/bin/stpSpei/enums/StpOrderSourceEnum.d.ts +9 -0
  54. package/bin/stpSpei/enums/StpOrderSourceEnum.js +13 -0
  55. package/bin/stpSpei/index.d.ts +2 -0
  56. package/bin/stpSpei/index.js +2 -0
  57. package/package.json +1 -1
  58. package/src/bankAccount/enums/BeneficiaryAccountTypeEnum.ts +20 -0
  59. package/src/bankAccount/index.ts +1 -0
  60. package/src/index.ts +4 -0
  61. package/src/moneyTransfer/dtos/BatchScheduleRequest.ts +15 -0
  62. package/src/moneyTransfer/dtos/CreateSettlementRequest.ts +26 -0
  63. package/src/moneyTransfer/dtos/MoneyTransferProductRequest.ts +111 -0
  64. package/src/moneyTransfer/dtos/MoneyTransferServiceCreateRequest.ts +62 -0
  65. package/src/moneyTransfer/dtos/MoneyTransferServiceUpdateRequest.ts +87 -0
  66. package/src/moneyTransfer/dtos/PendingDetailsResponse.ts +9 -0
  67. package/src/moneyTransfer/dtos/RescheduleSettlementRequest.ts +9 -0
  68. package/src/moneyTransfer/dtos/SettlementActionRequest.ts +7 -0
  69. package/src/moneyTransfer/dtos/SettlementListResponse.ts +7 -0
  70. package/src/moneyTransfer/dtos/SettlementResponse.ts +37 -0
  71. package/src/moneyTransfer/dtos/SettlementStatusMessage.ts +23 -0
  72. package/src/moneyTransfer/dtos/TransactionDetailResponse.ts +25 -0
  73. package/src/moneyTransfer/enums/SettlementModeEnum.ts +5 -0
  74. package/src/moneyTransfer/enums/SettlementStatusEnum.ts +11 -0
  75. package/src/moneyTransfer/enums/SpeiOrderStatusEnum.ts +11 -0
  76. package/src/moneyTransfer/enums/TransactionDetailStatusEnum.ts +7 -0
  77. package/src/moneyTransfer/enums/TransferChannelEnum.ts +5 -0
  78. package/src/moneyTransfer/index.ts +27 -0
  79. package/src/productCatalog/enums/ProductTypeEnum.ts +6 -1
  80. package/src/provider/enums/Provider.ts +2 -1
  81. package/src/stpSpei/dtos/ConsultStpOrderRequest.ts +9 -0
  82. package/src/stpSpei/dtos/PutStpOrderRequest.ts +18 -9
  83. package/src/stpSpei/enums/StpOrderSourceEnum.ts +9 -0
  84. package/src/stpSpei/index.ts +2 -0
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Estado de una orden SPEI tal como lo reporta STP (LQ liquidada, D devuelta, CN cancelada),
3
+ * más los estados internos PENDING (sin respuesta aún) y UNKNOWN (código no mapeado).
4
+ */
5
+ export declare enum SpeiOrderStatusEnum {
6
+ LQ = "LQ",
7
+ D = "D",
8
+ CN = "CN",
9
+ PENDING = "PENDING",
10
+ UNKNOWN = "UNKNOWN"
11
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SpeiOrderStatusEnum = void 0;
4
+ /**
5
+ * Estado de una orden SPEI tal como lo reporta STP (LQ liquidada, D devuelta, CN cancelada),
6
+ * más los estados internos PENDING (sin respuesta aún) y UNKNOWN (código no mapeado).
7
+ */
8
+ var SpeiOrderStatusEnum;
9
+ (function (SpeiOrderStatusEnum) {
10
+ SpeiOrderStatusEnum["LQ"] = "LQ";
11
+ SpeiOrderStatusEnum["D"] = "D";
12
+ SpeiOrderStatusEnum["CN"] = "CN";
13
+ SpeiOrderStatusEnum["PENDING"] = "PENDING";
14
+ SpeiOrderStatusEnum["UNKNOWN"] = "UNKNOWN";
15
+ })(SpeiOrderStatusEnum || (exports.SpeiOrderStatusEnum = SpeiOrderStatusEnum = {}));
@@ -0,0 +1,7 @@
1
+ /** Estado de un folio individual (transacción cobrada al usuario) respecto a su liquidación. */
2
+ export declare enum TransactionDetailStatusEnum {
3
+ PENDING_SETTLEMENT = "PENDING_SETTLEMENT",
4
+ SETTLED = "SETTLED",
5
+ RETURNED = "RETURNED",
6
+ FAILED = "FAILED"
7
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransactionDetailStatusEnum = void 0;
4
+ /** Estado de un folio individual (transacción cobrada al usuario) respecto a su liquidación. */
5
+ var TransactionDetailStatusEnum;
6
+ (function (TransactionDetailStatusEnum) {
7
+ TransactionDetailStatusEnum["PENDING_SETTLEMENT"] = "PENDING_SETTLEMENT";
8
+ TransactionDetailStatusEnum["SETTLED"] = "SETTLED";
9
+ TransactionDetailStatusEnum["RETURNED"] = "RETURNED";
10
+ TransactionDetailStatusEnum["FAILED"] = "FAILED";
11
+ })(TransactionDetailStatusEnum || (exports.TransactionDetailStatusEnum = TransactionDetailStatusEnum = {}));
@@ -0,0 +1,5 @@
1
+ /** Riel por el que se dispersa el dinero al beneficiario del producto. */
2
+ export declare enum TransferChannelEnum {
3
+ SPEI = "SPEI",
4
+ ACH = "ACH"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransferChannelEnum = void 0;
4
+ /** Riel por el que se dispersa el dinero al beneficiario del producto. */
5
+ var TransferChannelEnum;
6
+ (function (TransferChannelEnum) {
7
+ TransferChannelEnum["SPEI"] = "SPEI";
8
+ TransferChannelEnum["ACH"] = "ACH";
9
+ })(TransferChannelEnum || (exports.TransferChannelEnum = TransferChannelEnum = {}));
@@ -0,0 +1,17 @@
1
+ export * from './enums/TransferChannelEnum';
2
+ export * from './enums/SettlementModeEnum';
3
+ export * from './enums/SettlementStatusEnum';
4
+ export * from './enums/TransactionDetailStatusEnum';
5
+ export * from './enums/SpeiOrderStatusEnum';
6
+ export * from './dtos/SettlementStatusMessage';
7
+ export * from './dtos/BatchScheduleRequest';
8
+ export * from './dtos/MoneyTransferProductRequest';
9
+ export * from './dtos/MoneyTransferServiceCreateRequest';
10
+ export * from './dtos/MoneyTransferServiceUpdateRequest';
11
+ export * from './dtos/CreateSettlementRequest';
12
+ export * from './dtos/SettlementActionRequest';
13
+ export * from './dtos/RescheduleSettlementRequest';
14
+ export * from './dtos/TransactionDetailResponse';
15
+ export * from './dtos/SettlementResponse';
16
+ export * from './dtos/PendingDetailsResponse';
17
+ export * from './dtos/SettlementListResponse';
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ // moneyTransfer — money-transfer-connector (Centro de Beneficios)
3
+ // Contrato del conector de transferencias de dinero: catálogo de servicios/productos con riel
4
+ // (SPEI/ACH) y modo de liquidación (inmediata/lote), liquidaciones y estado de órdenes SPEI.
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ //Enums
21
+ __exportStar(require("./enums/TransferChannelEnum"), exports);
22
+ __exportStar(require("./enums/SettlementModeEnum"), exports);
23
+ __exportStar(require("./enums/SettlementStatusEnum"), exports);
24
+ __exportStar(require("./enums/TransactionDetailStatusEnum"), exports);
25
+ __exportStar(require("./enums/SpeiOrderStatusEnum"), exports);
26
+ //Mensajes async (SQS FIFO money-transfer-settlement-status, DEC-013)
27
+ __exportStar(require("./dtos/SettlementStatusMessage"), exports);
28
+ //DTOs — requests
29
+ __exportStar(require("./dtos/BatchScheduleRequest"), exports);
30
+ __exportStar(require("./dtos/MoneyTransferProductRequest"), exports);
31
+ __exportStar(require("./dtos/MoneyTransferServiceCreateRequest"), exports);
32
+ __exportStar(require("./dtos/MoneyTransferServiceUpdateRequest"), exports);
33
+ __exportStar(require("./dtos/CreateSettlementRequest"), exports);
34
+ __exportStar(require("./dtos/SettlementActionRequest"), exports);
35
+ __exportStar(require("./dtos/RescheduleSettlementRequest"), exports);
36
+ //DTOs — responses
37
+ __exportStar(require("./dtos/TransactionDetailResponse"), exports);
38
+ __exportStar(require("./dtos/SettlementResponse"), exports);
39
+ __exportStar(require("./dtos/PendingDetailsResponse"), exports);
40
+ __exportStar(require("./dtos/SettlementListResponse"), exports);
@@ -58,5 +58,10 @@ export declare enum ProductTypeEnum {
58
58
  * Reversa de un reembolso anterior — se devuelve el dinero del reembolso al cliente
59
59
  * cuando el dictamen fue incorrecto o se detectó fraude post-reembolso.
60
60
  */
61
- REFUND_PCF_REVERSE = "REFUND_PCF_REVERSE"
61
+ REFUND_PCF_REVERSE = "REFUND_PCF_REVERSE",
62
+ /**
63
+ * Dispersión SPEI de liquidaciones de beneficios (money-transfer-connector).
64
+ * Producto del catálogo para la orden STP que sale con `source=BENEFITS_SETTLEMENT`.
65
+ */
66
+ MONEY_TRANSFER_SA = "MONEY_TRANSFER_SA"
62
67
  }
@@ -63,4 +63,9 @@ var ProductTypeEnum;
63
63
  * cuando el dictamen fue incorrecto o se detectó fraude post-reembolso.
64
64
  */
65
65
  ProductTypeEnum["REFUND_PCF_REVERSE"] = "REFUND_PCF_REVERSE";
66
+ /**
67
+ * Dispersión SPEI de liquidaciones de beneficios (money-transfer-connector).
68
+ * Producto del catálogo para la orden STP que sale con `source=BENEFITS_SETTLEMENT`.
69
+ */
70
+ ProductTypeEnum["MONEY_TRANSFER_SA"] = "MONEY_TRANSFER_SA";
66
71
  })(ProductTypeEnum || (exports.ProductTypeEnum = ProductTypeEnum = {}));
@@ -10,5 +10,6 @@ export declare enum Provider {
10
10
  MULTICENTER_SERVICE_PAYMENT = "MULTICENTER_SERVICE_PAYMENT",
11
11
  UNITELLER = "UNITELLER",
12
12
  EQUALITY = "EQUALITY",
13
- SYNERGYPAY = "SYNERGYPAY"
13
+ SYNERGYPAY = "SYNERGYPAY",
14
+ MONEY_TRANSFER = "MONEY_TRANSFER"
14
15
  }
@@ -15,4 +15,5 @@ var Provider;
15
15
  Provider["UNITELLER"] = "UNITELLER";
16
16
  Provider["EQUALITY"] = "EQUALITY";
17
17
  Provider["SYNERGYPAY"] = "SYNERGYPAY";
18
+ Provider["MONEY_TRANSFER"] = "MONEY_TRANSFER";
18
19
  })(Provider || (exports.Provider = Provider = {}));
@@ -0,0 +1,8 @@
1
+ import { BusinessNameEnum } from '../enums/BusinessNameEnum';
2
+ export declare class ConsultStpOrderRequest {
3
+ transactionNumber: string;
4
+ orderType: "E" | "R";
5
+ operationDate: string;
6
+ /** DEC-037: empresa con la que se firmó la orden; sin él, fiado-stp-lambda usa FIADOSA */
7
+ businessName?: BusinessNameEnum;
8
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConsultStpOrderRequest = void 0;
4
+ class ConsultStpOrderRequest {
5
+ }
6
+ exports.ConsultStpOrderRequest = ConsultStpOrderRequest;
@@ -1,20 +1,28 @@
1
+ import { StpOrderSourceEnum } from '../enums/StpOrderSourceEnum';
1
2
  export declare class PutStpOrderRequest {
2
- processorObject: any | null;
3
- directoryId: string;
4
- phoneNumber: string;
5
- indexName: string;
3
+ processorObject?: any | null;
4
+ directoryId?: string;
5
+ phoneNumber?: string;
6
+ indexName?: string;
6
7
  amount: number;
7
8
  transactionNumber: string;
8
9
  numericReference: number;
9
10
  concept: string | null;
10
11
  beneficiaryAccount: string;
11
12
  beneficiaryName: string;
12
- bankName: string;
13
+ bankName?: string;
13
14
  bankCode: string;
14
- originatorAccountNumber: string;
15
- originatorCurp: string;
16
- originatorName: string;
15
+ originatorAccountNumber?: string;
16
+ originatorCurp?: string;
17
+ originatorName?: string;
17
18
  latitude?: number;
18
19
  longitude?: number;
19
20
  sessionId?: string;
21
+ /**
22
+ * Origen de la orden: USER_TRANSFER (default, comportamiento actual)
23
+ * | BENEFITS_SETTLEMENT (money-transfer-connector, DEC-013)
24
+ */
25
+ source?: StpOrderSourceEnum;
26
+ /** RFC del beneficiario — solo aplica a órdenes BENEFITS_SETTLEMENT. */
27
+ beneficiaryRfc?: string;
20
28
  }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Origen de una orden STP (`PutStpOrderRequest.source`).
3
+ * - USER_TRANSFER: transferencia iniciada por un usuario (default, comportamiento actual).
4
+ * - BENEFITS_SETTLEMENT: liquidación de beneficios emitida por money-transfer-connector (DEC-013).
5
+ */
6
+ export declare enum StpOrderSourceEnum {
7
+ USER_TRANSFER = "USER_TRANSFER",
8
+ BENEFITS_SETTLEMENT = "BENEFITS_SETTLEMENT"
9
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StpOrderSourceEnum = void 0;
4
+ /**
5
+ * Origen de una orden STP (`PutStpOrderRequest.source`).
6
+ * - USER_TRANSFER: transferencia iniciada por un usuario (default, comportamiento actual).
7
+ * - BENEFITS_SETTLEMENT: liquidación de beneficios emitida por money-transfer-connector (DEC-013).
8
+ */
9
+ var StpOrderSourceEnum;
10
+ (function (StpOrderSourceEnum) {
11
+ StpOrderSourceEnum["USER_TRANSFER"] = "USER_TRANSFER";
12
+ StpOrderSourceEnum["BENEFITS_SETTLEMENT"] = "BENEFITS_SETTLEMENT";
13
+ })(StpOrderSourceEnum || (exports.StpOrderSourceEnum = StpOrderSourceEnum = {}));
@@ -1,4 +1,5 @@
1
1
  export * from './dtos/PutStpOrderRequest';
2
+ export * from './dtos/ConsultStpOrderRequest';
2
3
  export * from './dtos/SpeiWebhookMessage';
3
4
  export * from './dtos/GetBusinessAccountBalanceResponse';
4
5
  export * from './dtos/SpeiAcuseCepRequest';
@@ -7,3 +8,4 @@ export * from './enums/ActividadesProductivasEnum';
7
8
  export * from './enums/EntidadesFederativasEnum';
8
9
  export * from './enums/PaisesEnum';
9
10
  export * from './enums/BusinessNameEnum';
11
+ export * from './enums/StpOrderSourceEnum';
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./dtos/PutStpOrderRequest"), exports);
18
+ __exportStar(require("./dtos/ConsultStpOrderRequest"), exports);
18
19
  __exportStar(require("./dtos/SpeiWebhookMessage"), exports);
19
20
  __exportStar(require("./dtos/GetBusinessAccountBalanceResponse"), exports);
20
21
  __exportStar(require("./dtos/SpeiAcuseCepRequest"), exports);
@@ -23,3 +24,4 @@ __exportStar(require("./enums/ActividadesProductivasEnum"), exports);
23
24
  __exportStar(require("./enums/EntidadesFederativasEnum"), exports);
24
25
  __exportStar(require("./enums/PaisesEnum"), exports);
25
26
  __exportStar(require("./enums/BusinessNameEnum"), exports);
27
+ __exportStar(require("./enums/StpOrderSourceEnum"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.463.0",
3
+ "version": "3.464.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Tipo de identificador con el que se reconoce la cuenta destino de una
3
+ * transferencia SPEI.
4
+ *
5
+ * Banxico admite tres (Circular 17/2010) y STP los distingue con el campo
6
+ * `tipoCuentaBeneficiario` del servicio registraOrden. El valor numerico de
7
+ * cada uno vive en el lambda que arma la orden; aqui solo se nombra el
8
+ * concepto.
9
+ *
10
+ * No confundir con `ExternalAccountTypeEnum`, que describe la naturaleza de la
11
+ * cuenta (cheques, ahorro), no como se identifica.
12
+ */
13
+ export enum BeneficiaryAccountTypeEnum {
14
+ /** CLABE de 18 digitos, con digito verificador Banxico. */
15
+ CLABE = "CLABE",
16
+ /** Numero de tarjeta de debito de 16 digitos, con verificacion Luhn. */
17
+ DEBIT_CARD = "DEBIT_CARD",
18
+ /** Linea movil de 10 digitos. Sin verificador: habilitar con cuidado. */
19
+ MOBILE_PHONE = "MOBILE_PHONE",
20
+ }
@@ -5,6 +5,7 @@ export * from './dtos/GetExternalBankResponse';
5
5
  export * from './dtos/CreateExternalBankAccountRequest';
6
6
  export * from './dtos/CreateExternalBankAccountResponse';
7
7
 
8
+ export * from './enums/BeneficiaryAccountTypeEnum';
8
9
  export * from './enums/ExternalAccountOwnershipEnum';
9
10
  export * from './enums/ExternalAccountStatusEnum';
10
11
  export * from './enums/ExternalAccountTypeEnum';
package/src/index.ts CHANGED
@@ -182,3 +182,7 @@ export * as Membership from './membership';
182
182
  // RetailLoan: contrato público de retail-loan-business (I1), la puerta de la App Fiado
183
183
  // hacia las suites FiadoLend/FiadoRetail. Montos en pesos; el lambda convierte desde centavos.
184
184
  export * as RetailLoan from './retailLoan';
185
+ // MoneyTransfer: contrato del money-transfer-connector (Centro de Beneficios) — catálogo de
186
+ // servicios/productos con riel SPEI/ACH y liquidación inmediata o en lote, liquidaciones
187
+ // (settlements) y estado de órdenes SPEI. Reusa AmountTypeEnum/ReferenceTypeEnum de servicePayment.
188
+ export * as MoneyTransfer from './moneyTransfer';
@@ -0,0 +1,15 @@
1
+ import { IsNotEmpty, IsString, MaxLength } from "class-validator";
2
+
3
+ /** Programación del lote para productos con `settlementMode = BATCH`. */
4
+ export class BatchScheduleRequest {
5
+ /** Expresión cron (5 campos) evaluada en `timezone`. */
6
+ @IsString()
7
+ @IsNotEmpty()
8
+ @MaxLength(64)
9
+ cron!: string;
10
+
11
+ /** Zona horaria IANA, ej. `America/Mexico_City`. */
12
+ @IsString()
13
+ @IsNotEmpty()
14
+ timezone!: string;
15
+ }
@@ -0,0 +1,26 @@
1
+ import { ArrayMaxSize, ArrayMinSize, IsArray, IsBoolean, IsInt, IsOptional, IsString, IsUUID, Min } from "class-validator";
2
+
3
+ /**
4
+ * Crea una liquidación agrupando folios pendientes (`transactionNumbers`) de un mismo producto.
5
+ * `sendNow = true` la envía al riel de inmediato; en caso contrario queda en `CREATED` o
6
+ * `SCHEDULED` (si viene `scheduledAt`, epoch ms).
7
+ */
8
+ export class CreateSettlementRequest {
9
+ @IsUUID()
10
+ idempotencyKey!: string;
11
+
12
+ @IsArray()
13
+ @ArrayMinSize(1)
14
+ @ArrayMaxSize(1000)
15
+ @IsString({ each: true })
16
+ transactionNumbers!: string[];
17
+
18
+ @IsBoolean()
19
+ sendNow!: boolean;
20
+
21
+ /** Epoch ms del envío programado. */
22
+ @IsOptional()
23
+ @IsInt()
24
+ @Min(0)
25
+ scheduledAt?: number;
26
+ }
@@ -0,0 +1,111 @@
1
+ import { Type } from "class-transformer";
2
+ import {
3
+ IsBoolean,
4
+ IsEnum,
5
+ IsInt,
6
+ IsNotEmpty,
7
+ IsNumber,
8
+ IsOptional,
9
+ IsString,
10
+ Length,
11
+ MaxLength,
12
+ Min,
13
+ ValidateNested,
14
+ } from "class-validator";
15
+ import { AmountTypeEnum } from "../../servicePayment/enums/AmountTypeEnum";
16
+ import { ReferenceTypeEnum } from "../../servicePayment/enums/ReferenceTypeEnum";
17
+ import { SettlementModeEnum } from "../enums/SettlementModeEnum";
18
+ import { TransferChannelEnum } from "../enums/TransferChannelEnum";
19
+ import { BatchScheduleRequest } from "./BatchScheduleRequest";
20
+
21
+ /**
22
+ * Producto de un servicio de transferencia de dinero (Centro de Beneficios). Los campos en
23
+ * español espejan el catálogo legacy de pago de servicios; los campos en inglés son la
24
+ * configuración propia del riel (canal, modo de liquidación, beneficiario, lote).
25
+ */
26
+ export class MoneyTransferProductRequest {
27
+ @IsString()
28
+ @IsNotEmpty()
29
+ @MaxLength(34)
30
+ idProducto!: string;
31
+
32
+ @IsString()
33
+ @IsNotEmpty()
34
+ @MaxLength(120)
35
+ producto!: string;
36
+
37
+ @IsNumber()
38
+ @Min(0)
39
+ precio!: number;
40
+
41
+ @IsEnum(AmountTypeEnum)
42
+ amountType!: AmountTypeEnum;
43
+
44
+ @IsNumber()
45
+ @Min(0)
46
+ fee!: number;
47
+
48
+ @IsEnum(ReferenceTypeEnum)
49
+ tipoReferencia!: ReferenceTypeEnum;
50
+
51
+ @IsBoolean()
52
+ verificateReference!: boolean;
53
+
54
+ @IsBoolean()
55
+ hasDigitoVerificador!: boolean;
56
+
57
+ @IsBoolean()
58
+ showAyuda!: boolean;
59
+
60
+ @IsString()
61
+ legend!: string;
62
+
63
+ @IsString()
64
+ logoSrc!: string;
65
+
66
+ @IsString()
67
+ refSrc!: string;
68
+
69
+ @IsInt()
70
+ tipoFront!: number;
71
+
72
+ @IsInt()
73
+ idCatTipoServicio!: number;
74
+
75
+ @IsBoolean()
76
+ enabled!: boolean;
77
+
78
+ @IsEnum(TransferChannelEnum)
79
+ channel!: TransferChannelEnum;
80
+
81
+ @IsEnum(SettlementModeEnum)
82
+ settlementMode!: SettlementModeEnum;
83
+
84
+ /** Nombre del beneficiario tal como viaja al riel (SPEI acepta máx. 40 chars). */
85
+ @IsString()
86
+ @IsNotEmpty()
87
+ @MaxLength(40)
88
+ beneficiaryName!: string;
89
+
90
+ /** RFC del beneficiario: 12 chars persona moral, 13 persona física. */
91
+ @IsOptional()
92
+ @IsString()
93
+ @Length(12, 13)
94
+ beneficiaryRfc?: string;
95
+
96
+ @IsOptional()
97
+ @IsNumber()
98
+ @Min(0)
99
+ minAmount?: number;
100
+
101
+ @IsOptional()
102
+ @IsNumber()
103
+ @Min(0)
104
+ maxAmount?: number;
105
+
106
+ /** Requerido operativamente cuando `settlementMode = BATCH`; lo valida el conector. */
107
+ @IsOptional()
108
+ @ValidateNested()
109
+ @Type(() => BatchScheduleRequest)
110
+ batchSchedule?: BatchScheduleRequest;
111
+ }
@@ -0,0 +1,62 @@
1
+ import { Type } from "class-transformer";
2
+ import { ArrayMinSize, IsArray, IsBoolean, IsInt, IsNotEmpty, IsString, Length, Min, ValidateNested } from "class-validator";
3
+ import { MoneyTransferProductRequest } from "./MoneyTransferProductRequest";
4
+
5
+ /**
6
+ * Alta de un servicio de transferencia de dinero en el catálogo del `money-transfer-connector`.
7
+ * `idServicio` arranca en 90000 para no colisionar con los ids del catálogo legacy de servicios.
8
+ */
9
+ export class MoneyTransferServiceCreateRequest {
10
+ @IsInt()
11
+ @Min(90000)
12
+ idServicio!: number;
13
+
14
+ @IsString()
15
+ @IsNotEmpty()
16
+ servicio!: string;
17
+
18
+ @IsString()
19
+ @IsNotEmpty()
20
+ categoria!: string;
21
+
22
+ @IsString()
23
+ @IsNotEmpty()
24
+ subcategoria!: string;
25
+
26
+ @IsInt()
27
+ categoryOrder!: number;
28
+
29
+ @IsInt()
30
+ subcategoryOrder!: number;
31
+
32
+ @IsInt()
33
+ serviceOrder!: number;
34
+
35
+ @IsString()
36
+ @IsNotEmpty()
37
+ beneficeId!: string;
38
+
39
+ @IsBoolean()
40
+ enabled!: boolean;
41
+
42
+ /** ISO 4217, ej. `MXN`. */
43
+ @IsString()
44
+ @Length(3, 3)
45
+ currencyId!: string;
46
+
47
+ @IsString()
48
+ @IsNotEmpty()
49
+ serviceCountryId!: string;
50
+
51
+ @IsString()
52
+ logoSrc!: string;
53
+
54
+ @IsInt()
55
+ idCatTipoServicio!: number;
56
+
57
+ @ValidateNested({ each: true })
58
+ @Type(() => MoneyTransferProductRequest)
59
+ @IsArray()
60
+ @ArrayMinSize(1)
61
+ productoDTOList!: MoneyTransferProductRequest[];
62
+ }
@@ -0,0 +1,87 @@
1
+ import { Type } from "class-transformer";
2
+ import {
3
+ ArrayMinSize,
4
+ IsArray,
5
+ IsBoolean,
6
+ IsInt,
7
+ IsNotEmpty,
8
+ IsOptional,
9
+ IsString,
10
+ Length,
11
+ Min,
12
+ ValidateNested,
13
+ } from "class-validator";
14
+ import { MoneyTransferProductRequest } from "./MoneyTransferProductRequest";
15
+
16
+ /**
17
+ * Actualización parcial de un servicio de transferencia de dinero. Mismos campos que
18
+ * `MoneyTransferServiceCreateRequest`, todos opcionales (el repo no cuenta con `PartialType`,
19
+ * por eso se declara a mano). Si viene `productoDTOList` reemplaza la lista completa.
20
+ */
21
+ export class MoneyTransferServiceUpdateRequest {
22
+ @IsOptional()
23
+ @IsInt()
24
+ @Min(90000)
25
+ idServicio?: number;
26
+
27
+ @IsOptional()
28
+ @IsString()
29
+ @IsNotEmpty()
30
+ servicio?: string;
31
+
32
+ @IsOptional()
33
+ @IsString()
34
+ @IsNotEmpty()
35
+ categoria?: string;
36
+
37
+ @IsOptional()
38
+ @IsString()
39
+ @IsNotEmpty()
40
+ subcategoria?: string;
41
+
42
+ @IsOptional()
43
+ @IsInt()
44
+ categoryOrder?: number;
45
+
46
+ @IsOptional()
47
+ @IsInt()
48
+ subcategoryOrder?: number;
49
+
50
+ @IsOptional()
51
+ @IsInt()
52
+ serviceOrder?: number;
53
+
54
+ @IsOptional()
55
+ @IsString()
56
+ @IsNotEmpty()
57
+ beneficeId?: string;
58
+
59
+ @IsOptional()
60
+ @IsBoolean()
61
+ enabled?: boolean;
62
+
63
+ @IsOptional()
64
+ @IsString()
65
+ @Length(3, 3)
66
+ currencyId?: string;
67
+
68
+ @IsOptional()
69
+ @IsString()
70
+ @IsNotEmpty()
71
+ serviceCountryId?: string;
72
+
73
+ @IsOptional()
74
+ @IsString()
75
+ logoSrc?: string;
76
+
77
+ @IsOptional()
78
+ @IsInt()
79
+ idCatTipoServicio?: number;
80
+
81
+ @IsOptional()
82
+ @ValidateNested({ each: true })
83
+ @Type(() => MoneyTransferProductRequest)
84
+ @IsArray()
85
+ @ArrayMinSize(1)
86
+ productoDTOList?: MoneyTransferProductRequest[];
87
+ }
@@ -0,0 +1,9 @@
1
+ import { TransactionDetailResponse } from "./TransactionDetailResponse";
2
+
3
+ /** Página de folios pendientes de liquidar, con totales agregados de la página. */
4
+ export class PendingDetailsResponse {
5
+ items!: TransactionDetailResponse[];
6
+ count!: number;
7
+ totalAmount!: number;
8
+ nextToken?: string;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { IsInt, Min } from "class-validator";
2
+ import { SettlementActionRequest } from "./SettlementActionRequest";
3
+
4
+ /** Reprograma una liquidación en `SCHEDULED`; `scheduledAt` es epoch ms. */
5
+ export class RescheduleSettlementRequest extends SettlementActionRequest {
6
+ @IsInt()
7
+ @Min(0)
8
+ scheduledAt!: number;
9
+ }
@@ -0,0 +1,7 @@
1
+ import { IsUUID } from "class-validator";
2
+
3
+ /** Body común de las acciones sobre una liquidación (enviar, cancelar, reintentar). */
4
+ export class SettlementActionRequest {
5
+ @IsUUID()
6
+ idempotencyKey!: string;
7
+ }