Ir para conteúdo
  • Cadastre-se

dev botao

AcbrPos na CIELO LIO


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

Recommended Posts

Prezados, 

Alguém poderia me ajudar no retorno quando é efetuado pagamento da LIO, como se obtém os campos:

  • O  campo brand que está dentro de payments no momento do retorno, e
  • O campo  primaryProductName que está dentro de paymentFields que por sua vez está dentro de payments?

Estou a dias procurando uma forma de recuperar esses dados e não encontrei nada que se aproximasse do que eu preciso.

Agradeço a ajuda.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
Em 15/05/2023 at 08:32, Eliezer disse:

Prezados, 

Alguém poderia me ajudar no retorno quando é efetuado pagamento da LIO, como se obtém os campos:

  • O  campo brand que está dentro de payments no momento do retorno, e
  • O campo  primaryProductName que está dentro de paymentFields que por sua vez está dentro de payments?

Estou a dias procurando uma forma de recuperar esses dados e não encontrei nada que se aproximasse do que eu preciso.

Agradeço a ajuda.

Essa é uma solução que consegui chegar. Se alguém precisar segue o código.

 

procedure TMyPaymentListener.onPayment(P1: JOrder);
Var Txt      : String;
    Detalhes : String;
    I        : Integer;
    Order    : JOrder;
    PgTO     : JPayment;
begin
     // Vai retornar os campos fora de Payments
     Txt := '[(getId) ' + JStringToString(P1.getId) + '] ' +
            '[(getNotes) ' + JStringToString(P1.getNotes) + '] ' +
            '[(getNumber) ' + JStringToString(P1.getNumber) + '] ' +
            '[(paidAmount) ' + P1.paidAmount.toString + '] ' +
            '[(getPrice) ' + P1.getPrice.toString + '] ' +
            '[(getReference) ' + JStringToString(P1.getReference) + '] ' +
            '[(getStatus) ' + JStringToString(P1.getStatus.toString) + '] ' +
            '[(getType.identifier) ' + JStringToString(P1.getType.identifier) + '] ' ;

     //
     // Pega os campos dentro de Payments
     Order := P1;
     Order.markAsPaid();
     OrderManager.updateOrder(Order);
     PgTO := TJPayment.Wrap(Order.getPayments.get(0));
     //
     // Campos de Payments
     Txt := Txt + ' [Marca =' + JStringToString(PgTO.getBrand) + '] ';
     Txt := Txt + ' [Terminal =' + JStringToString(PgTO.getTerminal) + '] ';
     Txt := Txt + ' [CodAutorizacao =' + JStringToString(PgTO.getAuthCode) + '] ';
     Txt := Txt + ' [NSU =' + JStringToString(PgTO.getCieloCode) + '] ';
     //
     // Retorna o JSon de PaymentsFields
     Detalhes := JStringToString(PgTO.getPaymentFields.toString);
     //
     // Daqui em diante é só dar continuidade´adaptando o que precisar.
end;

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
Em 26/05/2023 at 17:39, Eliezer disse:

Essa é uma solução que consegui chegar. Se alguém precisar segue o código.

 

procedure TMyPaymentListener.onPayment(P1: JOrder);
Var Txt      : String;
    Detalhes : String;
    I        : Integer;
    Order    : JOrder;
    PgTO     : JPayment;
begin
     // Vai retornar os campos fora de Payments
     Txt := '[(getId) ' + JStringToString(P1.getId) + '] ' +
            '[(getNotes) ' + JStringToString(P1.getNotes) + '] ' +
            '[(getNumber) ' + JStringToString(P1.getNumber) + '] ' +
            '[(paidAmount) ' + P1.paidAmount.toString + '] ' +
            '[(getPrice) ' + P1.getPrice.toString + '] ' +
            '[(getReference) ' + JStringToString(P1.getReference) + '] ' +
            '[(getStatus) ' + JStringToString(P1.getStatus.toString) + '] ' +
            '[(getType.identifier) ' + JStringToString(P1.getType.identifier) + '] ' ;

     //
     // Pega os campos dentro de Payments
     Order := P1;
     Order.markAsPaid();
     OrderManager.updateOrder(Order);
     PgTO := TJPayment.Wrap(Order.getPayments.get(0));
     //
     // Campos de Payments
     Txt := Txt + ' [Marca =' + JStringToString(PgTO.getBrand) + '] ';
     Txt := Txt + ' [Terminal =' + JStringToString(PgTO.getTerminal) + '] ';
     Txt := Txt + ' [CodAutorizacao =' + JStringToString(PgTO.getAuthCode) + '] ';
     Txt := Txt + ' [NSU =' + JStringToString(PgTO.getCieloCode) + '] ';
     //
     // Retorna o JSon de PaymentsFields
     Detalhes := JStringToString(PgTO.getPaymentFields.toString);
     //
     // Daqui em diante é só dar continuidade´adaptando o que precisar.
end;

Bom dia 

Alguém já conseguiu portar essa solução para Lazarus+LAMW ?

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...
Em 17/11/2022 at 14:51, djinfope disse:

Blz, muito obrigado por suas contribuições aqui, me ajudaram muito. não sei se você consegue pegar o nome da bandeira no seu projeto, aqui quando tento o app trava, para pegar a bandeira e nsu que estão em uma subclasse.

Olá, tem o modelo de implementação da impressão? não conseguir aqui.

Link para o comentário
Compartilhar em outros sites

@gabriel_mororo, eu descontinuei esse projeto em Delphi devido a limitações de leitura NFC e acesso a câmera do dispositivo com a nova versão do SDK e fomos para flutter, no github (Cielo Developers (github.com)) onde possui os exemplos com integração hibrida as para as demais função fizemos nativa em flutter. Para impressão em Delphi sugiro usar a integração Hibrida passando para a intent veja exemplo Manual de Integração Hibrida · Documentações e tutoriais (developercielo.github.io)

Link para o comentário
Compartilhar em outros sites

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.