evo360-types 1.3.637 → 1.3.644
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/dist/apps/evo-csq/zod-schemas.d.ts +237 -4
- package/dist/apps/evo-csq/zod-schemas.js +18 -2
- package/dist/apps/evo-csq/zod-schemas.ts +18 -0
- package/dist/apps/evo-finops/zod-schemas.d.ts +444 -0
- package/dist/apps/evo-finops/zod-schemas.js +61 -2
- package/dist/apps/evo-finops/zod-schemas.ts +67 -0
- package/dist/apps/evo-hub-ia/v1/zod-schemas.d.ts +48 -0
- package/dist/apps/evo-hub-ia/v1/zod-schemas.js +12 -0
- package/dist/apps/evo-hub-ia/v1/zod-schemas.ts +12 -0
- package/dist/types/evo-csq/index.d.ts +36 -6
- package/dist/types/evo-csq/index.js +8 -1
- package/dist/types/evo-csq/index.ts +39 -5
- package/dist/types/evo-finops/common/billing.d.ts +58 -2
- package/dist/types/evo-finops/common/billing.ts +72 -2
- package/dist/types/evo-finops/common/contract.d.ts +8 -0
- package/dist/types/evo-finops/common/contract.ts +11 -0
- package/dist/types/evo-finops/common/payment-method.d.ts +77 -0
- package/dist/types/evo-finops/common/payment-method.js +10 -0
- package/dist/types/evo-finops/common/payment-method.ts +106 -0
- package/dist/types/evo-finops/fb_collections.d.ts +2 -0
- package/dist/types/evo-finops/fb_collections.js +3 -1
- package/dist/types/evo-finops/fb_collections.ts +2 -0
- package/dist/types/evo-finops/index.d.ts +1 -0
- package/dist/types/evo-finops/index.js +1 -0
- package/dist/types/evo-finops/index.ts +1 -0
- package/dist/types/evo-finops/providers/asaas/asaas_provider.d.ts +9 -0
- package/dist/types/evo-finops/providers/asaas/asaas_provider.ts +10 -0
- package/package.json +1 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { IFireGlobalDoc } from '../../shared';
|
|
2
|
+
import type { NexFinopsAsaasSubscriptionStatus } from './contract';
|
|
3
|
+
/**
|
|
4
|
+
* - `asaas_subscription` (caminho A): cartão capturado na página do Asaas, dentro
|
|
5
|
+
* de uma assinatura. Id do doc: `asub_<subscription_id>`.
|
|
6
|
+
* - `asaas_card_token` (caminho B): token de cartão do Asaas. Id do doc: `atok_<shortid>`.
|
|
7
|
+
*/
|
|
8
|
+
export type NexFinopsPaymentMethodKind = 'asaas_subscription' | 'asaas_card_token';
|
|
9
|
+
/**
|
|
10
|
+
* - `active`: assinatura `ACTIVE` sem `deleted`, ou token válido.
|
|
11
|
+
* - `failing`: última captura recusada/reprovada; volta a `active` no próximo `PAYMENT_CONFIRMED`.
|
|
12
|
+
* - `inactive`: assinatura `INACTIVE`/`EXPIRED`/`deleted`, ou desativado pelo operador.
|
|
13
|
+
* - `revoked`: token invalidado pelo Asaas. Terminal — o cliente cadastra o cartão de novo.
|
|
14
|
+
*/
|
|
15
|
+
export type NexFinopsPaymentMethodStatus = 'active' | 'failing' | 'inactive' | 'revoked';
|
|
16
|
+
export type NexFinopsPaymentMethodSource = 'discovery_contract_asaas' | 'discovery_payment_link' | 'manual_link' | 'asaas_capture';
|
|
17
|
+
export interface INexFinopsPaymentMethodProviderRef {
|
|
18
|
+
provider_id: string;
|
|
19
|
+
provider_type: 'asaas';
|
|
20
|
+
env: 'sandbox' | 'production';
|
|
21
|
+
/** `cus_` dono do cartão/assinatura (Q5) — pode ser ≠ `taker.provider_refs.remote_customer_id`. */
|
|
22
|
+
remote_customer_id: string;
|
|
23
|
+
}
|
|
24
|
+
export interface INexFinopsPaymentMethodSubscriptionInfo {
|
|
25
|
+
subscription_id: string;
|
|
26
|
+
/** Doc id do nosso payment_link (origem). */
|
|
27
|
+
payment_link_id?: string | null;
|
|
28
|
+
/** Checkout de vendas (`contract.asaas.checkout_id`). */
|
|
29
|
+
checkout_id?: string | null;
|
|
30
|
+
subscription_status?: NexFinopsAsaasSubscriptionStatus | null;
|
|
31
|
+
deleted?: boolean | null;
|
|
32
|
+
cycle?: string | null;
|
|
33
|
+
/** Valor BASE da assinatura. */
|
|
34
|
+
value?: number | null;
|
|
35
|
+
/** Data civil `YYYY-MM-DD`. */
|
|
36
|
+
next_due_date?: string | null;
|
|
37
|
+
}
|
|
38
|
+
/** PCI: só bandeira e últimos 4. */
|
|
39
|
+
export interface INexFinopsPaymentMethodCard {
|
|
40
|
+
brand: string | null;
|
|
41
|
+
last4: string | null;
|
|
42
|
+
}
|
|
43
|
+
export interface INexFinopsPaymentMethodSourceInfo {
|
|
44
|
+
kind: NexFinopsPaymentMethodSource;
|
|
45
|
+
contract_id?: string | null;
|
|
46
|
+
payment_link_id?: string | null;
|
|
47
|
+
journey_ref?: string | null;
|
|
48
|
+
/** Pagamento que originou o método (caminho B). */
|
|
49
|
+
asaas_payment_id?: string | null;
|
|
50
|
+
}
|
|
51
|
+
export interface INexFinopsPaymentMethodLastCharge {
|
|
52
|
+
asaas_payment_id: string;
|
|
53
|
+
status: string;
|
|
54
|
+
at: string;
|
|
55
|
+
error?: string | null;
|
|
56
|
+
}
|
|
57
|
+
export interface INexFinopsCustomerPaymentMethod extends IFireGlobalDoc {
|
|
58
|
+
customer_id: string;
|
|
59
|
+
kind: NexFinopsPaymentMethodKind;
|
|
60
|
+
status: NexFinopsPaymentMethodStatus;
|
|
61
|
+
label?: string | null;
|
|
62
|
+
/** PCI: só isto. Nunca número completo, CCV ou token. */
|
|
63
|
+
card: INexFinopsPaymentMethodCard;
|
|
64
|
+
provider: INexFinopsPaymentMethodProviderRef;
|
|
65
|
+
/** Só no kind `asaas_subscription`. */
|
|
66
|
+
asaas_subscription?: INexFinopsPaymentMethodSubscriptionInfo | null;
|
|
67
|
+
/** Kind `asaas_card_token`: existe `private/credential`. Único reflexo do token. */
|
|
68
|
+
has_credential?: boolean | null;
|
|
69
|
+
source: INexFinopsPaymentMethodSourceInfo;
|
|
70
|
+
last_synced_at?: string | null;
|
|
71
|
+
last_used_at?: string | null;
|
|
72
|
+
last_charge?: INexFinopsPaymentMethodLastCharge | null;
|
|
73
|
+
}
|
|
74
|
+
/** Prefixos determinísticos dos ids (idempotência da descoberta). */
|
|
75
|
+
export declare const NEX_FINOPS_PAYMENT_METHOD_ID_PREFIX: Record<NexFinopsPaymentMethodKind, string>;
|
|
76
|
+
/** Status em que o método pode ser herdado por uma cobrança. */
|
|
77
|
+
export declare const NEX_FINOPS_PAYMENT_METHOD_USABLE_STATUSES: readonly NexFinopsPaymentMethodStatus[];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NEX_FINOPS_PAYMENT_METHOD_USABLE_STATUSES = exports.NEX_FINOPS_PAYMENT_METHOD_ID_PREFIX = void 0;
|
|
4
|
+
/** Prefixos determinísticos dos ids (idempotência da descoberta). */
|
|
5
|
+
exports.NEX_FINOPS_PAYMENT_METHOD_ID_PREFIX = {
|
|
6
|
+
asaas_subscription: 'asub_',
|
|
7
|
+
asaas_card_token: 'atok_',
|
|
8
|
+
};
|
|
9
|
+
/** Status em que o método pode ser herdado por uma cobrança. */
|
|
10
|
+
exports.NEX_FINOPS_PAYMENT_METHOD_USABLE_STATUSES = ['active', 'failing'];
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { IFireGlobalDoc } from '../../shared';
|
|
2
|
+
import type { NexFinopsAsaasSubscriptionStatus } from './contract';
|
|
3
|
+
|
|
4
|
+
// ── Métodos de pagamento do cliente (feat-253) ──
|
|
5
|
+
//
|
|
6
|
+
// Coleção própria do nex-finops: `core/nexus/apps/nex-finops/payment_methods/{pmId}`.
|
|
7
|
+
// Fica FORA do customer porque o portal devolve o customer inteiro e a regra de
|
|
8
|
+
// `nex-customers/customers` não tem curinga de subcoleção.
|
|
9
|
+
//
|
|
10
|
+
// PCI: o doc só guarda bandeira + últimos 4. Número completo, CCV, dados do
|
|
11
|
+
// portador ou token de cartão NÃO têm campo aqui e não devem ganhar um. O token
|
|
12
|
+
// do caminho B mora em `payment_methods/{pmId}/private/credential`, sem leitura
|
|
13
|
+
// pelo cliente e sem tipo exportado para o front.
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* - `asaas_subscription` (caminho A): cartão capturado na página do Asaas, dentro
|
|
17
|
+
* de uma assinatura. Id do doc: `asub_<subscription_id>`.
|
|
18
|
+
* - `asaas_card_token` (caminho B): token de cartão do Asaas. Id do doc: `atok_<shortid>`.
|
|
19
|
+
*/
|
|
20
|
+
export type NexFinopsPaymentMethodKind = 'asaas_subscription' | 'asaas_card_token';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* - `active`: assinatura `ACTIVE` sem `deleted`, ou token válido.
|
|
24
|
+
* - `failing`: última captura recusada/reprovada; volta a `active` no próximo `PAYMENT_CONFIRMED`.
|
|
25
|
+
* - `inactive`: assinatura `INACTIVE`/`EXPIRED`/`deleted`, ou desativado pelo operador.
|
|
26
|
+
* - `revoked`: token invalidado pelo Asaas. Terminal — o cliente cadastra o cartão de novo.
|
|
27
|
+
*/
|
|
28
|
+
export type NexFinopsPaymentMethodStatus = 'active' | 'failing' | 'inactive' | 'revoked';
|
|
29
|
+
|
|
30
|
+
export type NexFinopsPaymentMethodSource =
|
|
31
|
+
| 'discovery_contract_asaas'
|
|
32
|
+
| 'discovery_payment_link'
|
|
33
|
+
| 'manual_link'
|
|
34
|
+
| 'asaas_capture';
|
|
35
|
+
|
|
36
|
+
export interface INexFinopsPaymentMethodProviderRef {
|
|
37
|
+
provider_id: string;
|
|
38
|
+
provider_type: 'asaas';
|
|
39
|
+
env: 'sandbox' | 'production';
|
|
40
|
+
/** `cus_` dono do cartão/assinatura (Q5) — pode ser ≠ `taker.provider_refs.remote_customer_id`. */
|
|
41
|
+
remote_customer_id: string;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface INexFinopsPaymentMethodSubscriptionInfo {
|
|
45
|
+
subscription_id: string;
|
|
46
|
+
/** Doc id do nosso payment_link (origem). */
|
|
47
|
+
payment_link_id?: string | null;
|
|
48
|
+
/** Checkout de vendas (`contract.asaas.checkout_id`). */
|
|
49
|
+
checkout_id?: string | null;
|
|
50
|
+
subscription_status?: NexFinopsAsaasSubscriptionStatus | null;
|
|
51
|
+
deleted?: boolean | null;
|
|
52
|
+
cycle?: string | null;
|
|
53
|
+
/** Valor BASE da assinatura. */
|
|
54
|
+
value?: number | null;
|
|
55
|
+
/** Data civil `YYYY-MM-DD`. */
|
|
56
|
+
next_due_date?: string | null;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/** PCI: só bandeira e últimos 4. */
|
|
60
|
+
export interface INexFinopsPaymentMethodCard {
|
|
61
|
+
brand: string | null;
|
|
62
|
+
last4: string | null;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface INexFinopsPaymentMethodSourceInfo {
|
|
66
|
+
kind: NexFinopsPaymentMethodSource;
|
|
67
|
+
contract_id?: string | null;
|
|
68
|
+
payment_link_id?: string | null;
|
|
69
|
+
journey_ref?: string | null;
|
|
70
|
+
/** Pagamento que originou o método (caminho B). */
|
|
71
|
+
asaas_payment_id?: string | null;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export interface INexFinopsPaymentMethodLastCharge {
|
|
75
|
+
asaas_payment_id: string;
|
|
76
|
+
status: string;
|
|
77
|
+
at: string;
|
|
78
|
+
error?: string | null;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export interface INexFinopsCustomerPaymentMethod extends IFireGlobalDoc {
|
|
82
|
+
customer_id: string;
|
|
83
|
+
kind: NexFinopsPaymentMethodKind;
|
|
84
|
+
status: NexFinopsPaymentMethodStatus;
|
|
85
|
+
label?: string | null;
|
|
86
|
+
/** PCI: só isto. Nunca número completo, CCV ou token. */
|
|
87
|
+
card: INexFinopsPaymentMethodCard;
|
|
88
|
+
provider: INexFinopsPaymentMethodProviderRef;
|
|
89
|
+
/** Só no kind `asaas_subscription`. */
|
|
90
|
+
asaas_subscription?: INexFinopsPaymentMethodSubscriptionInfo | null;
|
|
91
|
+
/** Kind `asaas_card_token`: existe `private/credential`. Único reflexo do token. */
|
|
92
|
+
has_credential?: boolean | null;
|
|
93
|
+
source: INexFinopsPaymentMethodSourceInfo;
|
|
94
|
+
last_synced_at?: string | null;
|
|
95
|
+
last_used_at?: string | null;
|
|
96
|
+
last_charge?: INexFinopsPaymentMethodLastCharge | null;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/** Prefixos determinísticos dos ids (idempotência da descoberta). */
|
|
100
|
+
export const NEX_FINOPS_PAYMENT_METHOD_ID_PREFIX: Record<NexFinopsPaymentMethodKind, string> = {
|
|
101
|
+
asaas_subscription: 'asub_',
|
|
102
|
+
asaas_card_token: 'atok_',
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
/** Status em que o método pode ser herdado por uma cobrança. */
|
|
106
|
+
export const NEX_FINOPS_PAYMENT_METHOD_USABLE_STATUSES: readonly NexFinopsPaymentMethodStatus[] = ['active', 'failing'];
|
|
@@ -12,3 +12,5 @@ export declare const FINOPS_SERVICES_COLLECTION = "services";
|
|
|
12
12
|
export declare const FINOPS_TAKERS_COLLECTION = "takers";
|
|
13
13
|
export declare const FINOPS_INVOICES_COLLECTION = "invoices";
|
|
14
14
|
export declare const FINOPS_PAYMENT_LINKS_COLLECTION = "payment_links";
|
|
15
|
+
/** feat-253 — métodos de pagamento do cliente (path: core/nexus/apps/nex-finops/payment_methods). */
|
|
16
|
+
export declare const FINOPS_PAYMENT_METHODS_COLLECTION = "payment_methods";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FINOPS_PAYMENT_LINKS_COLLECTION = exports.FINOPS_INVOICES_COLLECTION = exports.FINOPS_TAKERS_COLLECTION = exports.FINOPS_SERVICES_COLLECTION = exports.FINOPS_DICS_SERVICES_ID = exports.FINOPS_ISSUER_PROFILES_COLLECTION = exports.FINOPS_DICS_ISSUERS_ID = exports.FINOPS_PROVIDERS_COLLECTION = exports.FINOPS_DICS_COLLECTION = exports.EVO_FINOPS_APP = void 0;
|
|
3
|
+
exports.FINOPS_PAYMENT_METHODS_COLLECTION = exports.FINOPS_PAYMENT_LINKS_COLLECTION = exports.FINOPS_INVOICES_COLLECTION = exports.FINOPS_TAKERS_COLLECTION = exports.FINOPS_SERVICES_COLLECTION = exports.FINOPS_DICS_SERVICES_ID = exports.FINOPS_ISSUER_PROFILES_COLLECTION = exports.FINOPS_DICS_ISSUERS_ID = exports.FINOPS_PROVIDERS_COLLECTION = exports.FINOPS_DICS_COLLECTION = exports.EVO_FINOPS_APP = void 0;
|
|
4
4
|
// evo-finops app identifier for Firestore paths
|
|
5
5
|
exports.EVO_FINOPS_APP = "evo-finops";
|
|
6
6
|
// Collection names for evo-finops
|
|
@@ -17,3 +17,5 @@ exports.FINOPS_SERVICES_COLLECTION = "services";
|
|
|
17
17
|
exports.FINOPS_TAKERS_COLLECTION = "takers";
|
|
18
18
|
exports.FINOPS_INVOICES_COLLECTION = "invoices";
|
|
19
19
|
exports.FINOPS_PAYMENT_LINKS_COLLECTION = "payment_links";
|
|
20
|
+
/** feat-253 — métodos de pagamento do cliente (path: core/nexus/apps/nex-finops/payment_methods). */
|
|
21
|
+
exports.FINOPS_PAYMENT_METHODS_COLLECTION = "payment_methods";
|
|
@@ -16,3 +16,5 @@ export const FINOPS_TAKERS_COLLECTION = "takers";
|
|
|
16
16
|
export const FINOPS_INVOICES_COLLECTION = "invoices";
|
|
17
17
|
export const FINOPS_PAYMENT_LINKS_COLLECTION = "payment_links";
|
|
18
18
|
|
|
19
|
+
/** feat-253 — métodos de pagamento do cliente (path: core/nexus/apps/nex-finops/payment_methods). */
|
|
20
|
+
export const FINOPS_PAYMENT_METHODS_COLLECTION = "payment_methods";
|
|
@@ -4,6 +4,7 @@ export * from "./common/taker";
|
|
|
4
4
|
export * from "./common/contract";
|
|
5
5
|
export * from "./common/proposal";
|
|
6
6
|
export * from "./common/billing";
|
|
7
|
+
export * from "./common/payment-method";
|
|
7
8
|
export * from "./providers";
|
|
8
9
|
export * from "./providers/provider_fiscal_types";
|
|
9
10
|
export * from "./providers/asaas/asaas_provider";
|
|
@@ -21,6 +21,7 @@ __exportStar(require("./common/taker"), exports);
|
|
|
21
21
|
__exportStar(require("./common/contract"), exports);
|
|
22
22
|
__exportStar(require("./common/proposal"), exports);
|
|
23
23
|
__exportStar(require("./common/billing"), exports);
|
|
24
|
+
__exportStar(require("./common/payment-method"), exports);
|
|
24
25
|
__exportStar(require("./providers"), exports);
|
|
25
26
|
__exportStar(require("./providers/provider_fiscal_types"), exports);
|
|
26
27
|
__exportStar(require("./providers/asaas/asaas_provider"), exports);
|
|
@@ -6,6 +6,7 @@ export * from "./common/taker";
|
|
|
6
6
|
export * from "./common/contract";
|
|
7
7
|
export * from "./common/proposal";
|
|
8
8
|
export * from "./common/billing";
|
|
9
|
+
export * from "./common/payment-method";
|
|
9
10
|
export * from "./providers";
|
|
10
11
|
export * from "./providers/provider_fiscal_types";
|
|
11
12
|
export * from "./providers/asaas/asaas_provider";
|
|
@@ -163,8 +163,17 @@ export interface IAsaasNfseCapabilities {
|
|
|
163
163
|
allow_avulsa: boolean;
|
|
164
164
|
allow_linked_to_payment: boolean;
|
|
165
165
|
}
|
|
166
|
+
/** Liga/desliga por ambiente. Ausente = desligado. */
|
|
167
|
+
export interface IAsaasEnvFlag {
|
|
168
|
+
sandbox?: boolean;
|
|
169
|
+
production?: boolean;
|
|
170
|
+
}
|
|
166
171
|
export interface IAsaasPaymentsCapabilities {
|
|
167
172
|
enabled: boolean;
|
|
173
|
+
/** feat-253 — kill-switch do caminho A (ajuste do valor da cobrança pendente da assinatura). */
|
|
174
|
+
card_subscription_adjust?: IAsaasEnvFlag;
|
|
175
|
+
/** feat-253 — flag do caminho B (cobrança com `creditCardToken`). Desligado até o Asaas habilitar. */
|
|
176
|
+
card_token?: IAsaasEnvFlag;
|
|
168
177
|
}
|
|
169
178
|
export interface IAsaasProviderCapabilities {
|
|
170
179
|
nfse: IAsaasNfseCapabilities;
|
|
@@ -237,8 +237,18 @@ export interface IAsaasNfseCapabilities {
|
|
|
237
237
|
allow_linked_to_payment: boolean; // future
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
+
/** Liga/desliga por ambiente. Ausente = desligado. */
|
|
241
|
+
export interface IAsaasEnvFlag {
|
|
242
|
+
sandbox?: boolean;
|
|
243
|
+
production?: boolean;
|
|
244
|
+
}
|
|
245
|
+
|
|
240
246
|
export interface IAsaasPaymentsCapabilities {
|
|
241
247
|
enabled: boolean; // false for now, future for payment links/subscriptions
|
|
248
|
+
/** feat-253 — kill-switch do caminho A (ajuste do valor da cobrança pendente da assinatura). */
|
|
249
|
+
card_subscription_adjust?: IAsaasEnvFlag;
|
|
250
|
+
/** feat-253 — flag do caminho B (cobrança com `creditCardToken`). Desligado até o Asaas habilitar. */
|
|
251
|
+
card_token?: IAsaasEnvFlag;
|
|
242
252
|
}
|
|
243
253
|
|
|
244
254
|
export interface IAsaasProviderCapabilities {
|