try {
// Verificar o estado da cobrança
const isCobAtiva = await verificarEstadoCob(txid);
if (!isCobAtiva) {
return res.status(400).json({ message: 'A cobrança não está ativa.' });
}
// Verificar o estado da configuração de Split
const isSplitAtivo = await verificarEstadoSplit(txid, splitConfigId);
if (!isSplitAtivo) {
return res.status(400).json({ message: 'A configuração de Split não está ativa.' });
}
// Garantir que os valores somam corretamente
const valoresValidos = await validarSomaValores(txid, splitConfigId);
if (!valoresValidos) {
return res.status(400).json({
message: 'O valor da cobrança não corresponde à soma dos valores do Split.',
});
}
// Vincular cobrança ao Split
const efipay = new EfiPay(options);
const resposta = await efipay.pixSplitLinkCharge({ txid, splitConfigId });
return res.status(200).json({
message: 'Cobrança vinculada ao split com sucesso!',
data: resposta || 'sem dados de retorno',
});
} catch (error) {
console.error('Erro ao vincular cobrança ao split:', error);
return res.status(500).json({
message: 'Erro ao vincular cobrança ao split',
error: error.message || 'Erro desconhecido',
});
}
});