@jackiemacklein/nettz-utils
Version:
Serviços de imagem, e-mail, códigos de barras, utilitários numéricos e componentes React para apps Node.js com TypeScript
137 lines (136 loc) • 4.55 kB
TypeScript
/**
* @author Jackiê Macklein
* @company Onside tecnologia/Nettz
* @copyright Todos direitos reservados.
* @description Tipos para integração com API de Transação Remota da EvoluServices.
* Referência: https://evoluservices.github.io/evoluservices-developer/docs/remote-transaction/intro-remote-transaction
*/
/** Desenvolvimento: https://sandbox.evoluservices.com */
export declare const EVOPAGAMENTOS_DEFAULT_BASE_URL = "https://sandbox.evoluservices.com";
/** Produção: https://api.evoluservices.com */
export declare const EVOPAGAMENTOS_PRODUCTION_BASE_URL = "https://api.evoluservices.com";
/** Strings oficiais de bandeira documentadas pela EvoluServices. */
export declare const EvoPaymentBrand: {
readonly VISA_CREDITO: "VISA_CREDITO";
readonly VISA_ELECTRON: "VISA_ELECTRON";
readonly MASTERCARD: "MASTERCARD";
readonly MAESTRO: "MAESTRO";
readonly AMEX: "AMEX";
readonly DINERS: "DINERS";
readonly HIPERCARD: "HIPERCARD";
readonly AURA: "AURA";
readonly SOROCRED: "SOROCRED";
readonly ELO: "ELO";
readonly SICREDI: "SICREDI";
readonly ELO_DEBITO: "ELO_DEBITO";
readonly HIPER: "HIPER";
readonly AGIPLAN: "AGIPLAN";
readonly BANESCARD: "BANESCARD";
readonly CREDZ: "CREDZ";
readonly JCB: "JCB";
readonly CABAL: "CABAL";
readonly MAIS: "MAIS";
};
export type EvoPaymentBrandCode = (typeof EvoPaymentBrand)[keyof typeof EvoPaymentBrand];
export declare const EvoTerminalStatus: {
readonly ONLINE: "ONLINE";
readonly ONLINE_DIFFERENT_ACCOUNT: "ONLINE_DIFFERENT_ACCOUNT";
readonly OFFLINE: "OFFLINE";
readonly UNKNOWN: "UNKNOWN";
};
export type EvoTerminalStatusCode = (typeof EvoTerminalStatus)[keyof typeof EvoTerminalStatus];
export declare const EvoTransactionStatus: {
readonly APPROVED: "APPROVED";
readonly COMPLETE: "COMPLETE";
readonly CANCELLED: "CANCELLED";
readonly PRE_APPROVED: "PRE_APPROVED";
readonly INCOMPLETE: "INCOMPLETE";
readonly ABORTED: "ABORTED";
readonly ABORTED_BY_MERCHANT: "ABORTED_BY_MERCHANT";
readonly PARTIALLY_CANCELLED: "PARTIALLY_CANCELLED";
};
export type EvoTransactionStatusCode = (typeof EvoTransactionStatus)[keyof typeof EvoTransactionStatus];
export interface EvoPagamentosClientConfig {
/**
* Base da API, sem barra final.
* @default https://sandbox.evoluservices.com
*/
baseUrl?: string;
/** Timeout em ms para cada requisição HTTP. @default 30000 */
timeoutMs?: number;
/** `fetch` customizado (testes ou proxy). */
fetchImpl?: typeof fetch;
/**
* Se `true`, emite logs em `console` com prefixo `[EvoPagamentos]` (sem Bearer, API key ou corpo completo sensível).
* @default false
*/
debug?: boolean;
}
export interface EvoAuthRequest {
username: string;
apiKey: string;
}
export interface EvoAuthResponse {
Bearer: string;
}
export interface EvoTerminalRecord {
macAddress: string;
computerName: string;
terminalId: string;
terminalStatus: EvoTerminalStatusCode | string;
}
export interface EvoSplitInput {
code: string;
value: string;
chargeFees?: boolean;
}
export interface EvoCreateRemoteTransactionData {
merchantId: string;
terminalId?: string;
value: string;
installments?: number;
paymentBrand?: EvoPaymentBrandCode | string;
callbackUrl?: string;
clientName?: string;
clientDocument?: string;
installmentsCanChange?: boolean;
clientEmail?: string;
splits?: EvoSplitInput[];
}
export interface EvoCreateRemoteTransactionBody {
transaction: EvoCreateRemoteTransactionData;
}
export interface EvoCreateRemoteTransactionResponse {
success: string;
error: string;
transactionId?: string;
}
export interface EvoDeleteRemoteTransactionResponse {
success: string;
error?: string;
}
export interface EvoCallbackPaymentEntry {
status: string;
value: number;
number: number;
date: string;
recipientName: string;
recipientDocument: string;
}
export interface EvoCallbackPayload {
remoteTransactionId: string;
transactionNumber?: string;
status: EvoTransactionStatusCode | string;
merchantId: string | number;
value: string;
paymentBrand?: string;
terminalId?: string;
payments?: EvoCallbackPaymentEntry[];
paymentQuantity?: string | number;
splits?: EvoCallbackPaymentEntry[];
clientName?: string;
clientDocument?: string;
NSU?: string | number;
authorizationNumber?: string | number;
orderUuid?: string;
}