@fiado/type-kit 3.381.0 → 3.382.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.
- package/bin/collection/dtos/AuthorizeCollectionMovementRequest.d.ts +8 -0
- package/bin/collection/dtos/AuthorizeCollectionMovementRequest.js +8 -0
- package/bin/collection/dtos/CollectionPricingDto.d.ts +28 -0
- package/bin/collection/dtos/CollectionPricingDto.js +55 -0
- package/bin/collection/enums/CollectionFeeMode.d.ts +6 -0
- package/bin/collection/enums/CollectionFeeMode.js +10 -0
- package/bin/collection/index.d.ts +2 -0
- package/bin/collection/index.js +2 -0
- package/package.json +1 -1
- package/src/collection/dtos/AuthorizeCollectionMovementRequest.ts +11 -1
- package/src/collection/dtos/CollectionPricingDto.ts +35 -0
- package/src/collection/enums/CollectionFeeMode.ts +6 -0
- package/src/collection/index.ts +2 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { MechanismType } from '../enums/MechanismType';
|
|
2
2
|
import { CurrencyId } from '../../currency/enums/CurrencyId';
|
|
3
|
+
import { CollectionPricingDto } from './CollectionPricingDto';
|
|
3
4
|
export declare class AuthorizeCollectionMovementRequest {
|
|
4
5
|
executionId: string;
|
|
5
6
|
directoryId: string;
|
|
@@ -10,4 +11,11 @@ export declare class AuthorizeCollectionMovementRequest {
|
|
|
10
11
|
intentId?: string;
|
|
11
12
|
chargeId?: string;
|
|
12
13
|
holdTxId?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Tarifa con la que se registra el cobro. Presente, el movimiento deja además una transacción
|
|
16
|
+
* Fiado: asiento contable, historial visible para el cliente y comisión declarada. Ausente, el
|
|
17
|
+
* dinero se mueve igual pero sin ese registro — es el comportamiento anterior, y se conserva para
|
|
18
|
+
* no romper a quien todavía no manda tarifa.
|
|
19
|
+
*/
|
|
20
|
+
pricing?: CollectionPricingDto;
|
|
13
21
|
}
|
|
@@ -11,8 +11,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.AuthorizeCollectionMovementRequest = void 0;
|
|
13
13
|
const class_validator_1 = require("class-validator");
|
|
14
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
15
|
const MechanismType_1 = require("../enums/MechanismType");
|
|
15
16
|
const CurrencyId_1 = require("../../currency/enums/CurrencyId");
|
|
17
|
+
const CollectionPricingDto_1 = require("./CollectionPricingDto");
|
|
16
18
|
class AuthorizeCollectionMovementRequest {
|
|
17
19
|
}
|
|
18
20
|
exports.AuthorizeCollectionMovementRequest = AuthorizeCollectionMovementRequest;
|
|
@@ -55,3 +57,9 @@ __decorate([
|
|
|
55
57
|
(0, class_validator_1.IsString)(),
|
|
56
58
|
__metadata("design:type", String)
|
|
57
59
|
], AuthorizeCollectionMovementRequest.prototype, "holdTxId", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, class_validator_1.IsOptional)(),
|
|
62
|
+
(0, class_validator_1.ValidateNested)(),
|
|
63
|
+
(0, class_transformer_1.Type)(() => CollectionPricingDto_1.CollectionPricingDto),
|
|
64
|
+
__metadata("design:type", CollectionPricingDto_1.CollectionPricingDto)
|
|
65
|
+
], AuthorizeCollectionMovementRequest.prototype, "pricing", void 0);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ProductTaxFeeTypeEnum } from '../../productCatalog';
|
|
2
|
+
import { CollectionFeeMode } from '../enums/CollectionFeeMode';
|
|
3
|
+
/**
|
|
4
|
+
* Tarifa de un cobro, tal como la manda quien lo pide.
|
|
5
|
+
*
|
|
6
|
+
* La regla viaja aquí y no sale del catálogo de productos porque quien conoce las condiciones
|
|
7
|
+
* comerciales de una cartera es el dominio dueño de la deuda, no el procesador: la misma mecánica de
|
|
8
|
+
* cobro se tarifa distinto según el producto, el tenant o el convenio.
|
|
9
|
+
*
|
|
10
|
+
* Viaja la REGLA, no el importe ya calculado. Así la aritmética y el redondeo son los mismos que los
|
|
11
|
+
* del resto de las transacciones, en vez de que cada dominio reimplemente los suyos y los números
|
|
12
|
+
* dejen de cuadrar entre sí.
|
|
13
|
+
*/
|
|
14
|
+
export declare class CollectionPricingDto {
|
|
15
|
+
/**
|
|
16
|
+
* Fila de `ProductCatalog_GT` con la que se clasifica la transacción resultante — de ahí salen su
|
|
17
|
+
* tipo y subtipo. La tarifa NO sale de ahí: sale de los campos de abajo.
|
|
18
|
+
*/
|
|
19
|
+
productCatalogId: string;
|
|
20
|
+
/** Comisión: porcentaje sobre el monto, o importe fijo, según `feeType`. */
|
|
21
|
+
fee: number;
|
|
22
|
+
feeType: ProductTaxFeeTypeEnum;
|
|
23
|
+
/** Impuesto: porcentaje SOBRE LA COMISIÓN, o importe fijo, según `taxType`. */
|
|
24
|
+
tax: number;
|
|
25
|
+
taxType: ProductTaxFeeTypeEnum;
|
|
26
|
+
/** Quién absorbe la comisión: el cliente por encima de su deuda, o el destino al recibir menos. */
|
|
27
|
+
feeMode: CollectionFeeMode;
|
|
28
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CollectionPricingDto = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
const productCatalog_1 = require("../../productCatalog");
|
|
15
|
+
const CollectionFeeMode_1 = require("../enums/CollectionFeeMode");
|
|
16
|
+
/**
|
|
17
|
+
* Tarifa de un cobro, tal como la manda quien lo pide.
|
|
18
|
+
*
|
|
19
|
+
* La regla viaja aquí y no sale del catálogo de productos porque quien conoce las condiciones
|
|
20
|
+
* comerciales de una cartera es el dominio dueño de la deuda, no el procesador: la misma mecánica de
|
|
21
|
+
* cobro se tarifa distinto según el producto, el tenant o el convenio.
|
|
22
|
+
*
|
|
23
|
+
* Viaja la REGLA, no el importe ya calculado. Así la aritmética y el redondeo son los mismos que los
|
|
24
|
+
* del resto de las transacciones, en vez de que cada dominio reimplemente los suyos y los números
|
|
25
|
+
* dejen de cuadrar entre sí.
|
|
26
|
+
*/
|
|
27
|
+
class CollectionPricingDto {
|
|
28
|
+
}
|
|
29
|
+
exports.CollectionPricingDto = CollectionPricingDto;
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_validator_1.IsString)(),
|
|
32
|
+
__metadata("design:type", String)
|
|
33
|
+
], CollectionPricingDto.prototype, "productCatalogId", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, class_validator_1.IsNumber)(),
|
|
36
|
+
(0, class_validator_1.Min)(0),
|
|
37
|
+
__metadata("design:type", Number)
|
|
38
|
+
], CollectionPricingDto.prototype, "fee", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, class_validator_1.IsEnum)(productCatalog_1.ProductTaxFeeTypeEnum),
|
|
41
|
+
__metadata("design:type", String)
|
|
42
|
+
], CollectionPricingDto.prototype, "feeType", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, class_validator_1.IsNumber)(),
|
|
45
|
+
(0, class_validator_1.Min)(0),
|
|
46
|
+
__metadata("design:type", Number)
|
|
47
|
+
], CollectionPricingDto.prototype, "tax", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, class_validator_1.IsEnum)(productCatalog_1.ProductTaxFeeTypeEnum),
|
|
50
|
+
__metadata("design:type", String)
|
|
51
|
+
], CollectionPricingDto.prototype, "taxType", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, class_validator_1.IsEnum)(CollectionFeeMode_1.CollectionFeeMode),
|
|
54
|
+
__metadata("design:type", String)
|
|
55
|
+
], CollectionPricingDto.prototype, "feeMode", void 0);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare enum CollectionFeeMode {
|
|
2
|
+
/** El cliente paga la deuda MÁS la comisión: se le debita `monto + fee + IVA`. */
|
|
3
|
+
ON_TOP = "ON_TOP",
|
|
4
|
+
/** El cliente paga sólo la deuda: se le debita el monto, y la comisión se retiene de lo que se remite. */
|
|
5
|
+
RETAINED = "RETAINED"
|
|
6
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CollectionFeeMode = void 0;
|
|
4
|
+
var CollectionFeeMode;
|
|
5
|
+
(function (CollectionFeeMode) {
|
|
6
|
+
/** El cliente paga la deuda MÁS la comisión: se le debita `monto + fee + IVA`. */
|
|
7
|
+
CollectionFeeMode["ON_TOP"] = "ON_TOP";
|
|
8
|
+
/** El cliente paga sólo la deuda: se le debita el monto, y la comisión se retiene de lo que se remite. */
|
|
9
|
+
CollectionFeeMode["RETAINED"] = "RETAINED";
|
|
10
|
+
})(CollectionFeeMode || (exports.CollectionFeeMode = CollectionFeeMode = {}));
|
|
@@ -4,6 +4,7 @@ export * from './enums/SagaStep';
|
|
|
4
4
|
export * from './enums/CollectionResultStatus';
|
|
5
5
|
export * from './enums/DeregisterChargeStatus';
|
|
6
6
|
export * from './enums/RegisterCollectibleStatus';
|
|
7
|
+
export * from './enums/CollectionFeeMode';
|
|
7
8
|
export * from './dtos/PendingChargeDto';
|
|
8
9
|
export * from './dtos/CollectRequest';
|
|
9
10
|
export * from './dtos/CollectResponse';
|
|
@@ -18,6 +19,7 @@ export * from './dtos/UpsertProductConfigRequest';
|
|
|
18
19
|
export * from './dtos/ApplyCollectionResultRequest';
|
|
19
20
|
export * from './dtos/DeregisterChargeResponse';
|
|
20
21
|
export * from './dtos/RegisterCollectibleResponse';
|
|
22
|
+
export * from './dtos/CollectionPricingDto';
|
|
21
23
|
export * from './dtos/ResolvePendingChargesRequest';
|
|
22
24
|
export * from './dtos/MoneyInEvent';
|
|
23
25
|
export * from './dtos/CollectionIntentSummaryDto';
|
package/bin/collection/index.js
CHANGED
|
@@ -21,6 +21,7 @@ __exportStar(require("./enums/SagaStep"), exports);
|
|
|
21
21
|
__exportStar(require("./enums/CollectionResultStatus"), exports);
|
|
22
22
|
__exportStar(require("./enums/DeregisterChargeStatus"), exports);
|
|
23
23
|
__exportStar(require("./enums/RegisterCollectibleStatus"), exports);
|
|
24
|
+
__exportStar(require("./enums/CollectionFeeMode"), exports);
|
|
24
25
|
// DTOs
|
|
25
26
|
__exportStar(require("./dtos/PendingChargeDto"), exports);
|
|
26
27
|
__exportStar(require("./dtos/CollectRequest"), exports);
|
|
@@ -36,6 +37,7 @@ __exportStar(require("./dtos/UpsertProductConfigRequest"), exports);
|
|
|
36
37
|
__exportStar(require("./dtos/ApplyCollectionResultRequest"), exports);
|
|
37
38
|
__exportStar(require("./dtos/DeregisterChargeResponse"), exports);
|
|
38
39
|
__exportStar(require("./dtos/RegisterCollectibleResponse"), exports);
|
|
40
|
+
__exportStar(require("./dtos/CollectionPricingDto"), exports);
|
|
39
41
|
__exportStar(require("./dtos/ResolvePendingChargesRequest"), exports);
|
|
40
42
|
__exportStar(require("./dtos/MoneyInEvent"), exports);
|
|
41
43
|
// DTOs — backoffice de monitoreo
|
package/package.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { IsString, IsInt, IsEnum, IsOptional } from 'class-validator';
|
|
1
|
+
import { IsString, IsInt, IsEnum, IsOptional, ValidateNested } from 'class-validator';
|
|
2
|
+
import { Type } from 'class-transformer';
|
|
2
3
|
import { MechanismType } from '../enums/MechanismType';
|
|
3
4
|
import { CurrencyId } from '../../currency/enums/CurrencyId';
|
|
5
|
+
import { CollectionPricingDto } from './CollectionPricingDto';
|
|
4
6
|
|
|
5
7
|
export class AuthorizeCollectionMovementRequest {
|
|
6
8
|
@IsString() executionId!: string; // idempotencia (@IdempotencyController)
|
|
@@ -12,4 +14,12 @@ export class AuthorizeCollectionMovementRequest {
|
|
|
12
14
|
@IsOptional() @IsString() intentId?: string;
|
|
13
15
|
@IsOptional() @IsString() chargeId?: string;
|
|
14
16
|
@IsOptional() @IsString() holdTxId?: string;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Tarifa con la que se registra el cobro. Presente, el movimiento deja además una transacción
|
|
20
|
+
* Fiado: asiento contable, historial visible para el cliente y comisión declarada. Ausente, el
|
|
21
|
+
* dinero se mueve igual pero sin ese registro — es el comportamiento anterior, y se conserva para
|
|
22
|
+
* no romper a quien todavía no manda tarifa.
|
|
23
|
+
*/
|
|
24
|
+
@IsOptional() @ValidateNested() @Type(() => CollectionPricingDto) pricing?: CollectionPricingDto;
|
|
15
25
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { IsEnum, IsNumber, IsString, Min } from 'class-validator';
|
|
2
|
+
import { ProductTaxFeeTypeEnum } from '../../productCatalog';
|
|
3
|
+
import { CollectionFeeMode } from '../enums/CollectionFeeMode';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Tarifa de un cobro, tal como la manda quien lo pide.
|
|
7
|
+
*
|
|
8
|
+
* La regla viaja aquí y no sale del catálogo de productos porque quien conoce las condiciones
|
|
9
|
+
* comerciales de una cartera es el dominio dueño de la deuda, no el procesador: la misma mecánica de
|
|
10
|
+
* cobro se tarifa distinto según el producto, el tenant o el convenio.
|
|
11
|
+
*
|
|
12
|
+
* Viaja la REGLA, no el importe ya calculado. Así la aritmética y el redondeo son los mismos que los
|
|
13
|
+
* del resto de las transacciones, en vez de que cada dominio reimplemente los suyos y los números
|
|
14
|
+
* dejen de cuadrar entre sí.
|
|
15
|
+
*/
|
|
16
|
+
export class CollectionPricingDto {
|
|
17
|
+
/**
|
|
18
|
+
* Fila de `ProductCatalog_GT` con la que se clasifica la transacción resultante — de ahí salen su
|
|
19
|
+
* tipo y subtipo. La tarifa NO sale de ahí: sale de los campos de abajo.
|
|
20
|
+
*/
|
|
21
|
+
@IsString() productCatalogId!: string;
|
|
22
|
+
|
|
23
|
+
/** Comisión: porcentaje sobre el monto, o importe fijo, según `feeType`. */
|
|
24
|
+
@IsNumber() @Min(0) fee!: number;
|
|
25
|
+
|
|
26
|
+
@IsEnum(ProductTaxFeeTypeEnum) feeType!: ProductTaxFeeTypeEnum;
|
|
27
|
+
|
|
28
|
+
/** Impuesto: porcentaje SOBRE LA COMISIÓN, o importe fijo, según `taxType`. */
|
|
29
|
+
@IsNumber() @Min(0) tax!: number;
|
|
30
|
+
|
|
31
|
+
@IsEnum(ProductTaxFeeTypeEnum) taxType!: ProductTaxFeeTypeEnum;
|
|
32
|
+
|
|
33
|
+
/** Quién absorbe la comisión: el cliente por encima de su deuda, o el destino al recibir menos. */
|
|
34
|
+
@IsEnum(CollectionFeeMode) feeMode!: CollectionFeeMode;
|
|
35
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export enum CollectionFeeMode {
|
|
2
|
+
/** El cliente paga la deuda MÁS la comisión: se le debita `monto + fee + IVA`. */
|
|
3
|
+
ON_TOP = 'ON_TOP',
|
|
4
|
+
/** El cliente paga sólo la deuda: se le debita el monto, y la comisión se retiene de lo que se remite. */
|
|
5
|
+
RETAINED = 'RETAINED',
|
|
6
|
+
}
|
package/src/collection/index.ts
CHANGED
|
@@ -5,6 +5,7 @@ export * from './enums/SagaStep';
|
|
|
5
5
|
export * from './enums/CollectionResultStatus';
|
|
6
6
|
export * from './enums/DeregisterChargeStatus';
|
|
7
7
|
export * from './enums/RegisterCollectibleStatus';
|
|
8
|
+
export * from './enums/CollectionFeeMode';
|
|
8
9
|
|
|
9
10
|
// DTOs
|
|
10
11
|
export * from './dtos/PendingChargeDto';
|
|
@@ -21,6 +22,7 @@ export * from './dtos/UpsertProductConfigRequest';
|
|
|
21
22
|
export * from './dtos/ApplyCollectionResultRequest';
|
|
22
23
|
export * from './dtos/DeregisterChargeResponse';
|
|
23
24
|
export * from './dtos/RegisterCollectibleResponse';
|
|
25
|
+
export * from './dtos/CollectionPricingDto';
|
|
24
26
|
export * from './dtos/ResolvePendingChargesRequest';
|
|
25
27
|
export * from './dtos/MoneyInEvent';
|
|
26
28
|
|