Bom dia, Daniel,
Em ACBrTEFAPI.pas, nos métodos: TACBrTEFAPI.GetPathDLL e TACBrTEFAPI.SetPathDLL, eles estão comentados para a classe de TEF PayGo... há algum motivo ?
CliSiTEF estava implementado resolvi não altera nada no PayGo, para evitar conflitos... irei alterar o case para utiliza Polimorfismo que é realmente bem mais adequado.
Enums :
Irie remove TACBrTEFAPIMetodo.tefmpPIX que realmente não faz sentido;
@Daniel Simoes sobre gostaria que você traze a sua sugerisse que seria menos confusso :
no nosso sistema informamos o meio de pagamento que irá na Nfe/NFCe (tPag) no cadastro forma de pagamento e na hora de gerar venda utilizo essa tag para informar se seria um TEF de cartão debito/ credito, 18- carteira Digital, 17 - Pagamento Instantânio(PIX) e etc... (https://documentacao.senior.com.br/exigenciaslegais/materias/erp/2021/2021-03-26-nt-2020-006-versao-1-20-divulgada-tabelas-externas-dos-meios-de-pagamentos-e-cartoes-de-debito-credito.htm)
Eu poderia manter o TACBrTEFModalidadePagamento.tefmpPIX se ajusta os trechos de código abaixo:
function TACBrTEFAPIClassCliSiTef.EfetuarPagamento(...): Boolean;
begin
...
case Modalidade of
tefmpDinheiro:
Op := 0; // Pagamento genérico
tefmpCheque:
Op := 1; // Cheque
tefmpCarteiraVirtual,
tefmpPIX:
Op := 122; // Venda via Carteira Digital
else
...
end;
...
end;
function TACBrTEFAPIClassPayGoWeb.EfetuarPagamento(...)
begin
...
case Modalidade of
tefmpCartao: ModalidadeInt := 1;
tefmpDinheiro: ModalidadeInt := 2;
tefmpCheque: ModalidadeInt := 4;
tefmpCarteiraVirtual,
tefmpPIX: ModalidadeInt := 8;
else
ModalidadeInt := 0;
end;
if (ModalidadeInt > 0) then
PA.ValueInfo[PWINFO_PAYMNTTYPE] := IntToStr(ModalidadeInt);
...
end;
Ou posso remove tefmpPIX e utilizar tefmpCarteiraVirtual com combinação do TACBrTEFModalidadeFinanciamento ou TACBrTEFTipoCartao podendo criar :
TACBrTEFTipoCartao.teftcPIX;
TACBrTEFModalidadeFinanciamento.tefmfPagamentoInstantanio;