UNPKG

@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
/** * @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; }