sdk-node-apis-efi
Version:
Module for integration with Efi Bank API
746 lines (745 loc) • 26.9 kB
JavaScript
"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();