O componente ACBrTEFD e ACBrTEFAPI, salvam no Log de respostas do TEF, o último Retorno da Biblioteca, em PWINFO_RET ... Se o retorno for PWRET_CANCEL, ela foi cancelada
Ok := ACBrTEFAPI1.EfetuarPagamento( IntToStr(Venda.NumOperacao),
AValor, Modalidade, CartoesAceitos,
tefmfAVista );
Ok := Ok and
ACBrTEFAPI1.UltimaRespostaTEF.Sucesso and
ACBrTEFAPI1.UltimaRespostaTEF.TransacaoAprovada;
// -- Exemplo de como capturar os Erros retornados pela API do TEF PayGoWeb -- //
if not OK then
begin
if (ACBrTEFAPI1.TEF is TACBrTEFAPIClassPayGoWeb) then
begin
CodErro := ACBrTEFAPI1.UltimaRespostaTEF.LeInformacao(PWINFO_RET).AsInteger;
MsgErro := ACBrTEFAPI1.UltimaRespostaTEF.LeInformacao(PWINFO_RESULTMSG).AsBinary;
CanceladaPinPad := (CodErro = PWRET_CANCEL);
if CanceladaPinPad then
ShowMessage('Cancelada no PinPad, pelo Cliente');
ShowMessage('Erro: '+IntToStr(CodErro)+' - '+Trim(MsgErro));
end;
end;