Jump to content

dev botao

Como fazer um Cancelamento automatizado?


  • Este tópico foi criado há 1118 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Fundadores

Resposta curta:  Use o método ACBrTEFD1.CNC

Ok, vamos explicar um pouco mais... :)

O ACBrTEFD, tem um método exclusivo para Cancelamento, ACBrTEFD1.CNC, com ele o ACBrTEFD já iniciará uma transação administrativa, com informações suficientes, para localizar a transação no Banco de Dados do Gerenciador TEF, e iniciar o Cancelamento da mesma...

Function CNC(const Rede, NSU : String; const DataHoraTransacao : TDateTime; const Valor : Double; CodigoAutorizacaoTransacao: String = '') : Boolean ;

Veja abaixo, um exemplo de como você pode chamar o método:

      ACBrTEFD1.CNC( AResp.Rede,                           // PWINFO_AUTHSYST
                     AResp.NSU,                            // PWINFO_AUTEXTREF
                     AResp.DataHoraTransacaoLocal,         // PWINFO_DATETIME
                     AResp.ValorTotal,                     // PWINFO_TOTAMNT
                     AResp.CodigoAutorizacaoTransacao);    // PWINFO_AUTHCODE

Lembramos entretanto, que cada adquirente, tem um fluxo de Cancelamento de transações, então pode ser que em alguns casos, outras informações sejam solicitadas, pelo Gerenciador TEF, por isso é sempre recomendado, ter o Cupom da Transação original, em mãos...

Outro fato, é que sempre será solicitado o cartão do cliente, no final do processo... Ou seja, o Cliente precisa estar presente, para que o cancelamento seja efetuado...

  • Like 8
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

  • Fundadores

Se você não usa o ACBrTEFD, pode informar os parâmetros, antes de iniciar a transação, usando o método: PW_iAddParam

PW_iAddParam( PWINFO_AUTHSYST, Rede);                                               // Origem: PWINFO_AUTHSYST
PW_iAddParam( PWINFO_TRNORIGNSU, NSU);                                              // Mandatorio, Origem: PWINFO_AUTEXTREF
PW_iAddParam( PWINFO_TRNORIGDATE, FormatDateTime('DDMMYY', DataHoraTransacao));     // Mandatorio, Origem: PWINFO_DATETIME
PW_iAddParam( PWINFO_TRNORIGTIME, FormatDateTime('hhnnss', DataHoraTransacao));     // Mandatorio, Origem: PWINFO_DATETIME
PW_iAddParam( PWINFO_TRNORIGAMNT, IntToStr(Trunc(RoundTo(Valor * 100,-2)));         // Mandatorio, Origem: PWINFO_TOTAMNT
PW_iAddParam( PWINFO_TRNORIGAUTH, CodigoAutorizacaoTransacao);                      // Mandatorio, Origem: PWINFO_AUTHCODE

image.png

  • Like 5
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

  • 6 months later...
  • Fundadores

Se você usa o novo componente, ACBrTEFAPI, use o método abaixo:

   function CancelarTransacao(
      const NSU,					// AResp.NSU 					PWINFO_AUTEXTREF
      CodigoAutorizacaoTransacao: string;		// AResp.CodigoAutorizacaoTransacao 		PWINFO_AUTHCODE
      DataHoraTransacao: TDateTime;			// AResp.DataHoraTransacaoLocal			PWINFO_DATETIME
      Valor: Double;					// AResp.ValorTotal				PWINFO_TOTAMNT
      const CodigoFinalizacao: string = '';		// Parâmetro Opcional, AResp.Finalizacao	PWINFO_AUTLOCREF
      const Rede: string = ''): Boolean;		// Parâmetro Opcional, AResp.Rede		PWINFO_AUTHSYST

 

  • Like 4
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.