UNPKG

sdk-node-apis-efi

Version:

Module for integration with Efi Bank API

746 lines (745 loc) 26.9 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.OfListBiometricPixPaymentResponseSchema = exports.OfListBiometricEnrollmentResponseSchema = exports.OfCreateBiometricEnrollmentResponseSchema = exports.OpenFinanceCancelPaymentResponseSchema = exports.OfListRecurrencyPixPaymentResponseSchema = exports.OfListSchedulePixPaymentResponseSchema = exports.OfListPixPaymentResponseSchema = exports.OfDevolutionRecurrencyPixResponseSchema = exports.OfDevolutionSchedulePixResponseSchema = exports.OfDevolutionPixResponseSchema = exports.OpenFinanceStartPaymentResponseSchema = exports.OfListParticipantsResponseSchema = exports.OpenFinanceConfigResponseSchema = exports.OfCancelAutomaticPixPaymentBodySchema = exports.OfListAutomaticPixPaymentParamsSchema = exports.OfCreateAutomaticPixPaymentBodySchema = exports.OfUpdateAutomaticEnrollmentBodySchema = exports.OfListAutomaticEnrollmentParamsSchema = exports.OfCreateAutomaticEnrollmentBodySchema = exports.OfRevokeBiometricEnrollmentBodySchema = exports.OfListBiometricPixPaymentParamsSchema = exports.OfCreateBiometricPixPaymentBodySchema = exports.OfListBiometricEnrollmentParamsSchema = exports.OfCreateBiometricEnrollmentBodySchema = exports.OfReplaceRecurrencyPixParcelBodySchema = exports.OfReplaceRecurrencyPixParcelParamsSchema = exports.OfDevolutionRecurrencyPixBodySchema = exports.OfDevolutionRecurrencyPixParamsSchema = exports.OfCancelRecurrencyPixParamsSchema = exports.OfListRecurrencyPixPaymentParamsSchema = exports.OfStartRecurrencyPixPaymentBodySchema = exports.OpenFinanceRecurrencyPaymentSchema = exports.OpenFinanceRecurrenceSchema = exports.OfDevolutionSchedulePixBodySchema = exports.OfDevolutionSchedulePixParamsSchema = exports.OfCancelSchedulePixParamsSchema = exports.OfListSchedulePixPaymentParamsSchema = exports.OfStartSchedulePixPaymentBodySchema = exports.OpenFinanceSchedulePaymentSchema = exports.OfDevolutionPixBodySchema = exports.OfDevolutionPixParamsSchema = exports.OpenFinanceDevolutionItemSchema = exports.OfListPixPaymentParamsSchema = exports.OfStartPixPaymentBodySchema = exports.OpenFinancePagamentoSchema = exports.OpenFinanceFavorecidoSchema = exports.OpenFinanceContaBancoSchema = exports.OpenFinancePagadorSchema = exports.OfListParticipantsParamsSchema = exports.OpenFinanceConfigBodySchema = void 0; exports.OfCancelAutomaticPixPaymentResponseSchema = exports.OfListAutomaticPixPaymentResponseSchema = exports.OfCreateAutomaticPixPaymentResponseSchema = exports.OfUpdateAutomaticEnrollmentResponseSchema = exports.OfListAutomaticEnrollmentResponseSchema = exports.OfCreateAutomaticEnrollmentResponseSchema = exports.OfRevokeBiometricEnrollmentResponseSchema = void 0; const z = __importStar(require("zod")); const DateSchema = z.iso.date(); const MoneySchema = z.string().regex(/^\d{1,16}\.\d{2}$/).min(4).max(19); const CpfSchema = z.string().regex(/^\d{11}$/); const CnpjSchema = z.string().regex(/^[0-9A-Z]{12}[0-9]{2}$/); const ParticipantIdSchema = z.string().min(32).max(36); const UrnSchema = z.string().max(256); const EndToEndIdSchema = z.string().min(25).max(32); const PaymentIdentifierParamsSchema = z.object({ identificadorPagamento: z.string() }).strict(); const OpenFinanceWebhookSecuritySchema = z.union([ z.object({ type: z.literal('mtls'), hash: z.never().optional() }).strict(), z.object({ type: z.literal('hmac'), hash: z.string() }).strict(), ]); exports.OpenFinanceConfigBodySchema = z .object({ redirectURL: z.url(), webhookURL: z.url(), webhookSecurity: OpenFinanceWebhookSecuritySchema.optional(), processPayment: z.enum(['async', 'sync']).optional(), generateTxIdForInic: z.boolean().optional(), }) .strict(); exports.OfListParticipantsParamsSchema = z .object({ nome: z.string().optional(), organizacao: z.string().optional(), modalidade: z.enum(['pagamentos', 'biometria', 'automatico']).optional(), tipoPessoa: z.enum(['PF', 'PJ']).optional(), }) .strict(); exports.OpenFinancePagadorSchema = z .object({ idParticipante: ParticipantIdSchema, cpf: CpfSchema, cnpj: CnpjSchema.optional(), }) .strict(); exports.OpenFinanceContaBancoSchema = z .object({ nome: z.string().min(5), documento: z.string().regex(/^([0-9]{11}|[0-9A-Z]{12}[0-9]{2})$/), codigoBanco: z.string().regex(/^([0-9]{3}|[0-9A-Z]{8})$/), agencia: z.string().regex(/^\d{4}$/), conta: z.string().regex(/^\d{3,20}$/), tipoConta: z.enum(['CACC', 'SVGS', 'TRAN']), }) .strict(); exports.OpenFinanceFavorecidoSchema = z.union([ z.object({ contaBanco: exports.OpenFinanceContaBancoSchema, chave: z.never().optional() }).strict(), z.object({ chave: z.string(), contaBanco: z.never().optional() }).strict(), ]); const OpenFinancePaymentBaseShape = { valor: MoneySchema, codigoCidadeIBGE: z.string().regex(/^\d{7}$/).optional(), infoPagador: z.string().optional(), idProprio: z.string().max(255).optional(), qrCode: z.string().max(512).optional(), identificadorTransacao: z.string().max(25).optional(), }; exports.OpenFinancePagamentoSchema = z.object(OpenFinancePaymentBaseShape).strict(); exports.OfStartPixPaymentBodySchema = z .object({ pagador: exports.OpenFinancePagadorSchema, favorecido: exports.OpenFinanceFavorecidoSchema, pagamento: exports.OpenFinancePagamentoSchema, }) .strict(); const ImmediateListCommonShape = { quantidade: z.number().int().min(1).max(100).optional(), pagina: z.number().int().positive().optional(), status: z.enum(['pendente', 'rejeitado', 'aceito', 'expirado']).optional(), }; exports.OfListPixPaymentParamsSchema = z.union([ z .object({ identificador: z.string(), inicio: DateSchema.optional(), fim: DateSchema.optional(), ...ImmediateListCommonShape, }) .strict(), z .object({ inicio: DateSchema, fim: DateSchema, identificador: z.string().optional(), ...ImmediateListCommonShape, }) .strict(), ]); exports.OpenFinanceDevolutionItemSchema = z .object({ endToEndId: z.string(), valor: MoneySchema, }) .strict(); exports.OfDevolutionPixParamsSchema = PaymentIdentifierParamsSchema; exports.OfDevolutionPixBodySchema = z.array(exports.OpenFinanceDevolutionItemSchema).min(1); exports.OpenFinanceSchedulePaymentSchema = z .object({ ...OpenFinancePaymentBaseShape, dataAgendamento: DateSchema, }) .strict(); exports.OfStartSchedulePixPaymentBodySchema = z .object({ pagador: exports.OpenFinancePagadorSchema, favorecido: exports.OpenFinanceFavorecidoSchema, pagamento: exports.OpenFinanceSchedulePaymentSchema, }) .strict(); const ScheduleListCommonShape = { quantidade: z.string().regex(/^\d+$/).optional(), pagina: z.string().regex(/^\d+$/).optional(), status: z.enum(['pendente', 'agendado', 'rejeitado', 'aceito', 'expirado', 'cancelado']).optional(), }; exports.OfListSchedulePixPaymentParamsSchema = z.union([ z .object({ identificador: z.string(), inicio: DateSchema.optional(), fim: DateSchema.optional(), ...ScheduleListCommonShape, }) .strict(), z .object({ inicio: DateSchema, fim: DateSchema, identificador: z.string().optional(), ...ScheduleListCommonShape, }) .strict(), ]); exports.OfCancelSchedulePixParamsSchema = PaymentIdentifierParamsSchema; exports.OfDevolutionSchedulePixParamsSchema = PaymentIdentifierParamsSchema; exports.OfDevolutionSchedulePixBodySchema = exports.OfDevolutionPixBodySchema; const RecurrenceCommonShape = { dataInicio: DateSchema, quantidade: z.number().int().min(2).max(60), }; exports.OpenFinanceRecurrenceSchema = z.union([ z .object({ tipo: z.literal('diaria'), ...RecurrenceCommonShape, diaDaSemana: z.never().optional(), diaDoMes: z.never().optional(), datas: z.never().optional(), descricao: z.never().optional(), }) .strict(), z .object({ tipo: z.literal('semanal'), ...RecurrenceCommonShape, diaDaSemana: z.enum([ 'DOMINGO', 'SEGUNDA_FEIRA', 'TERCA_FEIRA', 'QUARTA_FEIRA', 'QUINTA_FEIRA', 'SEXTA_FEIRA', 'SABADO', ]), diaDoMes: z.never().optional(), datas: z.never().optional(), descricao: z.never().optional(), }) .strict(), z .object({ tipo: z.literal('mensal'), ...RecurrenceCommonShape, diaDoMes: z.number().int().min(1).max(31), diaDaSemana: z.never().optional(), datas: z.never().optional(), descricao: z.never().optional(), }) .strict(), z .object({ tipo: z.literal('personalizada'), datas: z.array(DateSchema).min(2).max(60), descricao: z.string().optional(), dataInicio: z.never().optional(), quantidade: z.never().optional(), diaDaSemana: z.never().optional(), diaDoMes: z.never().optional(), }) .strict(), ]); exports.OpenFinanceRecurrencyPaymentSchema = z .object({ ...OpenFinancePaymentBaseShape, recorrencia: exports.OpenFinanceRecurrenceSchema, }) .strict(); exports.OfStartRecurrencyPixPaymentBodySchema = z .object({ pagador: exports.OpenFinancePagadorSchema, favorecido: exports.OpenFinanceFavorecidoSchema, pagamento: exports.OpenFinanceRecurrencyPaymentSchema, }) .strict(); const RecurrencyListCommonShape = { quantidade: z.string().regex(/^\d+$/).optional(), pagina: z.string().regex(/^\d+$/).optional(), status: z.enum(['ativa', 'concluida', 'pendente', 'expirada', 'cancelada']).optional(), }; exports.OfListRecurrencyPixPaymentParamsSchema = z.union([ z .object({ identificador: z.string(), inicio: DateSchema.optional(), fim: DateSchema.optional(), ...RecurrencyListCommonShape, }) .strict(), z .object({ inicio: DateSchema, fim: DateSchema, identificador: z.string().optional(), ...RecurrencyListCommonShape, }) .strict(), ]); exports.OfCancelRecurrencyPixParamsSchema = PaymentIdentifierParamsSchema; exports.OfDevolutionRecurrencyPixParamsSchema = PaymentIdentifierParamsSchema; exports.OfDevolutionRecurrencyPixBodySchema = exports.OfDevolutionPixBodySchema; exports.OfReplaceRecurrencyPixParcelParamsSchema = z .object({ identificadorPagamento: z.string(), endToEndId: z.string() }) .strict(); exports.OfReplaceRecurrencyPixParcelBodySchema = z.object({ valor: MoneySchema.optional() }).strict(); exports.OfCreateBiometricEnrollmentBodySchema = z .object({ pagador: exports.OpenFinancePagadorSchema }) .strict(); exports.OfListBiometricEnrollmentParamsSchema = z .object({ cpf: CpfSchema, cnpj: CnpjSchema.optional(), }) .strict(); exports.OfCreateBiometricPixPaymentBodySchema = z .object({ identificadorVinculo: UrnSchema, favorecido: exports.OpenFinanceFavorecidoSchema, pagamento: exports.OpenFinancePagamentoSchema, }) .strict(); exports.OfListBiometricPixPaymentParamsSchema = z .object({ inicio: DateSchema, fim: DateSchema, status: z.enum(['pendente', 'rejeitado', 'aceito', 'expirado', 'cancelado']).optional(), identificador: z.string().optional(), }) .strict(); exports.OfRevokeBiometricEnrollmentBodySchema = z .object({ identificadorVinculo: UrnSchema, motivo: z.string(), }) .strict(); const OpenFinanceAutomaticPagadorSchema = z .object({ cpf: CpfSchema, cnpj: CnpjSchema.optional(), nome: z.string().max(120).optional(), idParticipante: ParticipantIdSchema, }) .strict(); const OpenFinanceAutomaticConfigurationBaseShape = { intervalo: z.enum(['SEMANAL', 'MENSAL', 'ANUAL', 'SEMESTRAL', 'TRIMESTRAL']), dataInicio: DateSchema, permiteRetentativa: z.boolean().optional(), primeiroPagamento: z .object({ data: DateSchema, valor: MoneySchema, infoPagador: z.string().optional(), }) .strict() .optional(), }; const OpenFinanceAutomaticConfigurationSchema = z.union([ z .object({ ...OpenFinanceAutomaticConfigurationBaseShape, valorFixo: MoneySchema, valorMinimo: z.never().optional(), valorMaximo: z.never().optional(), }) .strict(), z .object({ ...OpenFinanceAutomaticConfigurationBaseShape, valorFixo: z.never().optional(), valorMinimo: MoneySchema.optional(), valorMaximo: MoneySchema, }) .strict(), ]); exports.OfCreateAutomaticEnrollmentBodySchema = z .object({ pagador: OpenFinanceAutomaticPagadorSchema, favorecido: z.object({ contaBanco: exports.OpenFinanceContaBancoSchema }).strict(), assinatura: z .object({ expiracao: DateSchema, descricao: z.string().optional(), idProprio: z.string().max(255).optional(), configuracao: z .object({ automatico: OpenFinanceAutomaticConfigurationSchema, }) .strict(), }) .strict(), }) .strict(); exports.OfListAutomaticEnrollmentParamsSchema = z.union([ z.object({ identificadorAdesao: UrnSchema }).strict(), z.object({ idProprio: z.string() }).strict(), z .object({ inicio: DateSchema, fim: DateSchema, status: z.enum(['autorizado', 'pendente', 'revogado', 'finalizado', 'rejeitado']), documento: z.string().optional(), }) .strict(), z .object({ inicio: DateSchema, fim: DateSchema, documento: z.string(), status: z.enum(['autorizado', 'pendente', 'revogado', 'finalizado', 'rejeitado']).optional(), }) .strict(), ]); exports.OfUpdateAutomaticEnrollmentBodySchema = z .object({ identificador: UrnSchema, nomeFavorecido: z.string().optional(), status: z.literal('revogado').optional(), dataExpiracao: DateSchema.optional(), valorMaximo: MoneySchema.optional(), }) .strict(); exports.OfCreateAutomaticPixPaymentBodySchema = z .object({ identificadorAdesao: UrnSchema, pagamento: z .object({ valor: MoneySchema, data: DateSchema, codigoCidadeIBGE: z.string().regex(/^\d{7}$/).optional(), infoPagador: z.string().optional(), }) .strict(), }) .strict(); exports.OfListAutomaticPixPaymentParamsSchema = z .object({ identificadorAdesao: UrnSchema, endToEndId: EndToEndIdSchema.optional(), }) .strict(); exports.OfCancelAutomaticPixPaymentBodySchema = z .object({ identificadorAdesao: UrnSchema, endToEndId: EndToEndIdSchema, }) .strict(); const OpenFinanceWebhookSecurityResponseSchema = z.union([ z.object({ type: z.literal('mtls'), hash: z.never().optional() }).loose(), z.object({ type: z.literal('hmac'), hash: z.string() }).loose(), ]); exports.OpenFinanceConfigResponseSchema = z .object({ redirectURL: z.string(), webhookURL: z.string(), webhookSecurity: OpenFinanceWebhookSecurityResponseSchema, processPayment: z.enum(['async', 'sync']), generateTxIdForInic: z.boolean(), }) .loose(); const OpenFinanceOrganizationResponseSchema = z .object({ nome: z.string(), cnpj: z.string(), status: z.enum(['Ativo', 'Inativo']), }) .loose(); const OpenFinanceParticipantResponseSchema = z .object({ identificador: z.string(), nome: z.string(), descricao: z.string(), portal: z.string(), logo: z.string(), organizacoes: z.array(OpenFinanceOrganizationResponseSchema), }) .loose(); exports.OfListParticipantsResponseSchema = z .object({ participantes: z.array(OpenFinanceParticipantResponseSchema) }) .loose(); exports.OpenFinanceStartPaymentResponseSchema = z .object({ identificadorPagamento: z.string(), redirectURI: z.string(), }) .loose(); const OpenFinanceRefundResponseSchema = z .object({ identificadorPagamento: z.string(), endToEndId: z.string(), valor: z.string(), dataCriacao: z.string(), status: z.enum(['pendente', 'aceito', 'rejeitado']), }) .loose(); exports.OfDevolutionPixResponseSchema = OpenFinanceRefundResponseSchema; exports.OfDevolutionSchedulePixResponseSchema = OpenFinanceRefundResponseSchema; exports.OfDevolutionRecurrencyPixResponseSchema = OpenFinanceRefundResponseSchema; const OpenFinanceDevolutionResponseSchema = z .object({ identificadorDevolucao: z.string(), valor: z.string(), status: z.enum(['pendente', 'rejeitado', 'aceito']), dataCriacao: z.string(), }) .loose(); const OpenFinanceImmediateListItemBaseShape = { identificadorPagamento: z.string(), dataCriacao: z.string(), idProprio: z.string().optional(), devolucoes: z.array(OpenFinanceDevolutionResponseSchema).optional(), }; const OpenFinanceImmediateListItemSchema = z.discriminatedUnion('status', [ z .object({ ...OpenFinanceImmediateListItemBaseShape, status: z.literal('aceito'), endToEndId: z.string(), valor: z.string(), }) .loose(), z .object({ ...OpenFinanceImmediateListItemBaseShape, status: z.enum(['pendente', 'rejeitado', 'expirado']), endToEndId: z.string().optional(), valor: z.string().optional(), }) .loose(), ]); const OpenFinanceScheduleListItemBaseShape = { ...OpenFinanceImmediateListItemBaseShape, dataOperacao: z.string(), }; const OpenFinanceScheduleListItemSchema = z.discriminatedUnion('status', [ z .object({ ...OpenFinanceScheduleListItemBaseShape, status: z.literal('aceito'), endToEndId: z.string(), valor: z.string(), }) .loose(), z .object({ ...OpenFinanceScheduleListItemBaseShape, status: z.enum(['pendente', 'agendado', 'rejeitado', 'expirado', 'cancelado']), endToEndId: z.string().optional(), valor: z.string().optional(), }) .loose(), ]); const OpenFinanceRecurrencyListItemSchema = z .object({ identificadorPagamento: z.string(), valor: z.string(), status: z.enum(['ativa', 'concluida', 'pendente', 'expirada', 'cancelada']), dataCriacao: z.string(), idProprio: z.string().optional(), recorrencias: z.array(z .object({ endToEndId: z.string(), dataOperacao: z.string(), status: z.enum(['pendente', 'agendado', 'rejeitado', 'cancelado', 'enviado']), devolucoes: z.array(OpenFinanceDevolutionResponseSchema).optional(), }) .loose()), }) .loose(); function paginatedResponse(item) { return z .object({ pagamentos: z.array(item), total: z.number(), porPagina: z.number(), ultimo: z.string().nullable(), proximo: z.string().nullable(), anterior: z.string().nullable(), atual: z.string(), }) .loose(); } exports.OfListPixPaymentResponseSchema = paginatedResponse(OpenFinanceImmediateListItemSchema); exports.OfListSchedulePixPaymentResponseSchema = paginatedResponse(OpenFinanceScheduleListItemSchema); exports.OfListRecurrencyPixPaymentResponseSchema = paginatedResponse(OpenFinanceRecurrencyListItemSchema); exports.OpenFinanceCancelPaymentResponseSchema = z .object({ identificadorPagamento: z.string(), status: z.string(), dataCancelamento: z.string(), }) .loose(); exports.OfCreateBiometricEnrollmentResponseSchema = z .object({ identificadorVinculo: z.string(), redirectURI: z.string() }) .loose(); const OpenFinanceBiometricEnrollmentResponseSchema = z .object({ identificador: z.string(), dataAutorizacao: z.string(), dataExpiracao: z.string(), limiteDiario: z.string(), limiteTransacao: z.string(), conta: z .object({ numero: z.string(), agencia: z.string(), ispb: z.string(), tipo: z.string(), }) .loose(), participante: z .object({ identificador: z.string(), nome: z.string(), descricao: z.string(), logo: z.string(), }) .loose(), }) .loose(); exports.OfListBiometricEnrollmentResponseSchema = z .object({ vinculos: z.array(OpenFinanceBiometricEnrollmentResponseSchema) }) .loose(); const OpenFinanceBiometricPaymentResponseSchema = z.discriminatedUnion('status', [ z .object({ ...OpenFinanceImmediateListItemBaseShape, status: z.literal('aceito'), endToEndId: z.string(), valor: z.string(), }) .loose(), z .object({ ...OpenFinanceImmediateListItemBaseShape, status: z.enum(['pendente', 'rejeitado', 'expirado', 'cancelado']), endToEndId: z.string().optional(), valor: z.string().optional(), }) .loose(), ]); exports.OfListBiometricPixPaymentResponseSchema = z .object({ vinculos: z.array(OpenFinanceBiometricPaymentResponseSchema) }) .loose(); exports.OfRevokeBiometricEnrollmentResponseSchema = z .object({ identificadorVinculo: z.string(), status: z.literal('revogado'), motivo: z.string(), data: z.string(), }) .loose(); exports.OfCreateAutomaticEnrollmentResponseSchema = z .object({ identificadorAdesao: z.string(), redirectURI: z.string() }) .loose(); const OpenFinanceAutomaticAccountResponseSchema = z .object({ nome: z.string(), documento: z.string(), codigoBanco: z.string(), agencia: z.string(), conta: z.string(), tipoConta: z.enum(['CACC', 'SVGS', 'TRAN']), }) .loose(); const OpenFinanceAutomaticFirstPaymentResponseSchema = z .object({ data: z.string(), valor: z.string(), infoPagador: z.string().optional(), }) .loose(); const OpenFinanceAutomaticConfigurationResponseBaseShape = { intervalo: z.enum(['SEMANAL', 'MENSAL', 'ANUAL', 'SEMESTRAL', 'TRIMESTRAL']), dataInicio: z.string(), permiteRetentativa: z.boolean().optional(), primeiroPagamento: OpenFinanceAutomaticFirstPaymentResponseSchema.optional(), }; const OpenFinanceAutomaticConfigurationResponseSchema = z.union([ z .object({ ...OpenFinanceAutomaticConfigurationResponseBaseShape, valorFixo: z.string(), valorMinimo: z.never().optional(), valorMaximo: z.never().optional(), }) .loose(), z .object({ ...OpenFinanceAutomaticConfigurationResponseBaseShape, valorFixo: z.never().optional(), valorMinimo: z.string(), valorMaximo: z.string(), }) .loose(), ]); const OpenFinanceAutomaticBeneficiaryResponseSchema = z .object({ contaBanco: OpenFinanceAutomaticAccountResponseSchema, }) .loose(); const OpenFinanceAutomaticSubscriptionResponseSchema = z .object({ expiracao: z.string(), descricao: z.string().optional(), idProprio: z.string().optional(), configuracao: z .object({ automatico: OpenFinanceAutomaticConfigurationResponseSchema, }) .loose(), }) .loose(); const OpenFinanceAutomaticEnrollmentResponseSchema = z .object({ identificadorAdesao: z.string(), status: z.enum(['autorizado', 'pendente', 'revogado', 'finalizado', 'rejeitado']), dataCriacao: z.string(), favorecido: OpenFinanceAutomaticBeneficiaryResponseSchema, assinatura: OpenFinanceAutomaticSubscriptionResponseSchema, }) .loose(); exports.OfListAutomaticEnrollmentResponseSchema = z .object({ adesoes: z.array(OpenFinanceAutomaticEnrollmentResponseSchema), total: z.number(), porPagina: z.number(), ultimo: z.string().nullable(), proximo: z.string().nullable(), anterior: z.string().nullable(), atual: z.string(), }) .loose(); exports.OfUpdateAutomaticEnrollmentResponseSchema = z .object({ identificadorAdesao: z.string(), status: z.enum(['revogado', 'autorizado', 'pendente', 'finalizado', 'rejeitado']), motivo: z.string().optional(), favorecido: OpenFinanceAutomaticBeneficiaryResponseSchema, assinatura: OpenFinanceAutomaticSubscriptionResponseSchema, }) .loose(); exports.OfCreateAutomaticPixPaymentResponseSchema = z .object({ identificadorAdesao: z.string(), endToEndId: z.string(), status: z.enum(['pendente', 'rejeitado', 'aceito', 'expirado', 'cancelado']), data: z.string(), }) .loose(); exports.OfListAutomaticPixPaymentResponseSchema = z .object({ identificadorAdesao: z.string(), idProprio: z.string().optional(), status: z.enum(['autorizado', 'pendente', 'rejeitado', 'revogado', 'finalizado']), descricao: z.string().optional(), pagamentos: z.array(z .object({ endToEndId: z.string(), valor: z.string(), status: z.enum(['pendente', 'rejeitado', 'aceito', 'expirado', 'cancelado']), dataCriacao: z.string(), infoPagador: z.string().optional(), devolucoes: z.array(OpenFinanceDevolutionResponseSchema).optional(), }) .loose()), }) .loose(); exports.OfCancelAutomaticPixPaymentResponseSchema = z .object({ identificadorAdesao: z.string(), idProprio: z.string().optional(), endToEndId: z.string(), valor: z.string(), status: z.literal('cancelado'), motivo: z.string(), dataCriacao: z.string(), }) .loose();