cecon-interfaces
Version:
Interfaces de Projetos Cecon
68 lines (67 loc) • 2.62 kB
TypeScript
import { EFrom, IDesenfilaInfo, IInfo, IMobyoInfo } from '../../general';
import { ENatipaySaleChannel } from '../../natipay/orders/enums';
import { EFeePayer, EMpStatus, EMpStatusDetail, EOperationType, EPaymentMethodId, EReleaseStatus, ETransactionProvider, ETransactionStatus } from '../enums';
import { ETransactionOperation } from '../enums/transaction-operation.enum';
import { ITransactionBalance } from './i-balance';
import { IFeeDetail } from './i-fee-detail';
import { ITransactionPaymentMethod } from './i-payment-method';
import { ITransactionTotal } from './i-total';
export interface ITransaction {
balance: ITransactionBalance | null;
card: {};
createdAt: Date;
dateApproved: Date | null;
dateCreated: Date;
dateLastUpdated: Date;
dateOfExpiration: Date | null;
description: string;
desenfilaInfo: IDesenfilaInfo | null;
externalOrderReference: string;
feeDetails: IFeeDetail[];
/**
* @description Define quem paga a taxa (fee) da transação.
*
* - MERCHANT: A taxa é paga pelo lojista.
* - PLATFORM: A taxa é paga pela plataforma.
*/
feePayer: EFeePayer;
from: EFrom;
id: string;
installments: number;
liveMode: boolean;
mobyoInfo: IMobyoInfo | null;
moneyReleaseDate: Date | null;
moneyReleaseStatus: EReleaseStatus;
natiInfo: IInfo | null;
operationType: EOperationType;
payerInfo: IInfo | null;
paymentMethod: ITransactionPaymentMethod | null;
paymentMethodId: EPaymentMethodId;
posId: string;
provider: ETransactionProvider;
referenceId: 'goLive' | 'engine_mobyo_fee' | 'withdraw' | string;
resumeVersion: string;
saleChannel: ENatipaySaleChannel;
stamped: string | null;
status: EMpStatus;
statusDetail: EMpStatusDetail;
total: ITransactionTotal | null;
transactionAmount: number;
transactionAmountRefunded: number;
transactionOperation: ETransactionOperation;
transactionStatus: ETransactionStatus;
/**
* @description IDs das transações originais usadas para rastreamento de fees (tarifas).
*
* - Quando o `feePayer` for MERCHANT: utilize `id[0]` para localizar
* a transação original associada à tarifa do lojista.
*
* - Quando o `feePayer` for PLATFORM: utilize `id[1]` para localizar
* a transação original associada à tarifa da plataforma.
*
* @important Esses IDs são cruciais para auditoria e reconciliação,
* mantendo o vínculo com as transações de origem.
*/
transactionTraceIds: string[];
updatedAt: Date;
}