Ir para conteúdo
  • Cadastre-se

Fernando Rodrigo

Membros
  • Total de ítens

    487
  • Registro em

  • Última visita

  • Days Won

    3

Posts postados por Fernando Rodrigo

  1. esse campo ACBrBoleto1.Cedente.CedenteWS.KeyUser onde consigo ele pq no site do banco so tem 3 campos

     

    developer_application_key

    Credenciais OAuth

              client_id

               client_secret

     

     

    Quando uso as credenciais conforme arquivo de teste passa normal, mas quando coloco minhas credenciais da o erro acima

     

    image.thumb.png.ba86ce23298c0736d7f486925a54fb52.png

     

  2. 4 horas atrás, Dercide Alvarez disse:

    Como relatei, passei por esse problema, e com após a inclusão dessa linha, a remessa foi homologada.

    Veja que nosso companheiro também usou pOutras e foi homologado, a partir desse post que eu fiz a minha alteração.

    Então passe pNenhum e depois post o retorno.

     

     

    passei como pNenhum  e deu certo, valeu

  3. 43 minutos atrás, Dercide Alvarez disse:

    Bom dia,

    Passei por esse problema após uma atualização do componente, o cliente que gerava a tempos remessa apresentou esse mesmo problema após atualizar o sistmema.

    Inclui essa linha na geração dos boletos de remessa :

    Sacado.SacadoAvalista.Pessoa := pOutras;

    E resolveu o problema, isso aconteceu dia 21/09.

     

    Dercide.

    Dercide tem que informar conforme abaixo pq la na função que retorna o campo esta conforme abaixo, se eu informar pOutras, ele irá gerar o codgio 9 e o banco disse que tem que ser 0, então tem que ser pNenhum

     

    function TACBrBancoClass.DefineTipoSacadoAvalista(const ACBrTitulo: TACBrTitulo
      😞 String;
    begin
      with ACBrTitulo do
      begin
        case Sacado.SacadoAvalista.Pessoa of
            pFisica   : Result := '1';
            pJuridica : Result := '2';
            pOutras   : Result := '9';
         else
            Result := '0';
         end;
      end;
    end;

     

      Sacado.SacadoAvalista.Pessoa := pNenhum;

  4. estou fazendo a validação para o santander cnab 240 e o banco me retornou uma instrução que devera ser  alterado, so que olhando os fontes não tem como fazer igual ao banco precisa

    REGISTRO DETALHE-SEGMENTO Q REMESSA      

    154-154 Tipode inscrição sacador/avalista: . . SE A INSCRIÇÃO DO CEDENTE FOR CNPJ, O MESMO NÃO NECESSITA DE SACADOR AVALISTA, LOGO, ESTE CAMPO DEVE INFORMA '0', LINHA 4

     

    Para preencher esses campo é feito 2 checagem essa abaixo na unit do banco, so que no componente so aceita pFisica e pJuridica, conforme validação abaixo, como irei informar codigo 0, sendo que so existe esses 2 tipos de inscrição ?

        {Pegando tipo de pessoa do Sacado}
        sTipoInscricao := Copy( DefineTipoSacado(ACBrTitulo), 2, 1);

        {Pegando tipo de pessoa do Avalista}
        aTipoInscricao:= DefineTipoSacadoAvalista(ACBrTitulo);
     

    Essa na unit AcbrBoleto

    function TACBrBancoClass.DefineTipoSacado(const ACBrTitulo: TACBrTitulo
      😞 String;
    begin
      with ACBrTitulo do
      begin
        case Sacado.Pessoa of
            pFisica   : Result := '01';
            pJuridica : Result := '02';
         else
            Result := '99';
         end;

      end;
    end;

    function TACBrBancoClass.DefineTipoSacadoAvalista(const ACBrTitulo: TACBrTitulo
      😞 String;
    begin
      with ACBrTitulo do
      begin
        case Sacado.SacadoAvalista.Pessoa of
            pFisica   : Result := '1';
            pJuridica : Result := '2';
            pOutras   : Result := '9';
         else
            Result := '0';
         end;
      end;
    end;

     

  5. não gerou nenhum log,

    eu preenchi os campos para remessa conforme o DEMO e so pedir para enviar e não gerou nenhum log na pasta do DEMO

          With ACBrBoleto1.CriarTituloNaLista do
           begin
           //   CriarTituloNaLista;
              Carteira         := '17';
              EspecieDoc         := '99';

              With ACBrBoleto1.Cedente do
                      begin
                 //         Cedente.TipoCarteira                := tctRegistrada;
                 //         Cedente.Modalidade                  := '19';

                          {Dados do cedente - Loja}
                          CodigoTransmissao := '11';
                          TipoInscricao   := pJuridica; {CNPJ}
                          CNPJCPF         := '04005416000153';
                          Nome            :='Nome Fantasia do Cliente';
                          CodigoCedente   := '4863177';
                          Convenio          := '1014051';
                          Modalidade      := '19';
                          Logradouro      :='aaa';
                          NumeroRes       := '';
                          Complemento     := '';
                          Bairro          := 'aaa';
                          Cidade          := 'aaa';
                          UF              := 'GO';
                          CEP             := '74413050';
                          Agencia         :='1';
                          AgenciaDigito   := '0';
                          Conta           :='xxx';
                          ContaDigito     := '0';
                      end;

                LocalPagamento    := 'Pagar em qualquer banco'; //MEnsagem exigida pelo bradesco
                Vencimento        := IncMonth(EncodeDate(2020,10,10),I);
                DataDocumento     := EncodeDate(2020,08,10);
                NumeroDocumento   := PadRight(IntToStr(I),8,'0');
                EspecieDoc        := 'DM';
                Aceite            := atSim;
                DataProcessamento := Now;
                Carteira          := '17';
                NossoNumero       := IntToStrZero(I,8);
                ValorDocumento    := 100.35 * (I+0.5);
                Sacado.NomeSacado := 'Jose Luiz Pedroso';
                Sacado.CNPJCPF    := '12345678901';
                Sacado.Logradouro := 'Rua da Consolacao';
                Sacado.Numero     := '100';
                Sacado.Bairro     := 'Vila Esperanca';
                Sacado.Cidade     := 'Tatui';
                Sacado.UF         := 'SP';
                Sacado.CEP        := '18270000';
                ValorAbatimento   := 10;
                DataAbatimento    := Vencimento-5;
                Instrucao1        := '00';
                Instrucao2        := '00';
                NossoNumero       := edtNossoNro.Text;

                with ACBrBoleto1.Banco do
                begin
                    TipoCobranca := cobBancoDoBrasil;
                end;
           end;

     

     

    **************************

     

    procedure TfrmDemo.btnRegistroClick(Sender: TObject);
    var
      SLRemessa: TStringList;
      i: Integer;
    begin
      with ACBrBoleto1 do
      begin

        //Banco do Brasil //Dados para Homologaçao
         Cedente.CedenteWS.ClientID     := 'XXXXXX'
         Cedente.CedenteWS.ClientSecret := 'XXXXX';
         Cedente.CedenteWS.Scope        := 'cobranca.registro-boletos';
         Cedente.CedenteWS.KeyUser      := 'XXXX';

        //Função de Envio
        EnviarBoleto;

        //Verifica Lista com os retornos
        if ListaRetornoWeb.Count > 0 then
        begin
          SLRemessa := TStringList.Create;
          try
            for i:= 0 to ListaRetornoWeb.Count -1 do
            begin
              //Ler todos os campos da classe Retorno
               SLRemessa.Add('Cod_Retorno='+ ListaRetornoWeb.CodRetorno + sLineBreak +
                           'Msg_Retorno='+ ListaRetornoWeb.MsgRetorno + sLineBreak +
                           'Ori_Retorno='+ ListaRetornoWeb.OriRetorno + sLineBreak +
                           'HEADER' + sLineBreak +
                           'Versao='+ ListaRetornoWeb.Header.Versao + sLineBreak +
                           'Autenticacao=' + ListaRetornoWeb.Header.Autenticacao + sLineBreak +
                           'Usuario_Servico=' + ListaRetornoWeb.Header.Usuario_Servico + sLineBreak +
                           'Usuario=' + ListaRetornoWeb.Header.Usuario + sLineBreak +
                           'Operacao='  + TipoOperacaoToStr(ListaRetornoWeb.Header.Operacao) + sLineBreak +
                           'Indice=' + IntToStr(ListaRetornoWeb.Header.Indice) + sLineBreak +
                           'Sistema_Origem=' + ListaRetornoWeb.Header.Sistema_Origem + sLineBreak +
                           'Agencia=' + IntToStr(ListaRetornoWeb.Header.Agencia) + sLineBreak +
                           'ID_Origem=' + ListaRetornoWeb.Header.Id_Origem + sLineBreak +
                           'Data_Hora=' +FormatDateTime('dd/mm/yyyy hh:nn:ss',ListaRetornoWeb.Header.Data_Hora) + sLineBreak +
                           'ID_Processo=' + ListaRetornoWeb.Header.Id_Processo + sLineBreak +
                           'DADOS' + sLineBreak +
                           'Excessao=' +ListaRetornoWeb.DadosRet.Excecao + sLineBreak +
                           'CONTROLE_NEGOCIAL' + sLineBreak +
                           'Origem_Retorno=' + ListaRetornoWeb.DadosRet.ControleNegocial.OriRetorno + sLineBreak +
                           'NSU=' + ListaRetornoWeb.DadosRet.ControleNegocial.NSU + sLineBreak +
                           'Cod_Retorno=' + ListaRetornoWeb.DadosRet.ControleNegocial.CodRetorno + sLineBreak +
                           'Msg_Retorno=' + ListaRetornoWeb.DadosRet.ControleNegocial.Retorno + sLineBreak +
                           'COMPROVANTE' + sLineBreak +
                           'Data=' +  FormatDateTime('dd/mm/yyyy', ListaRetornoWeb.DadosRet.Comprovante.Data) + sLineBreak +
                           'Hora=' +  ListaRetornoWeb.DadosRet.Comprovante.Hora + sLineBreak +
                           'ID_BOLETO' + sLineBreak +
                           'Codigo_Barras=' + ListaRetornoWeb.DadosRet.IDBoleto.CodBarras + sLineBreak +
                           'Linha_Digitavel=' + ListaRetornoWeb.DadosRet.IDBoleto.LinhaDig + sLineBreak +
                           'Nosso_Numero=' + ListaRetornoWeb.DadosRet.IDBoleto.NossoNum + sLineBreak +
                           'URL=' + ListaRetornoWeb.DadosRet.IDBoleto.URL + sLineBreak +
                           'CONSULTA_BOLETO' + sLineBreak +
                           'Numero_Documento=' + ListaRetornoWeb.DadosRet.TituloRet.NumeroDocumento + sLineBreak +
                           'Data_Vencimento=' + FormatDateTime('dd/mm/yyyy',ListaRetornoWeb.DadosRet.TituloRet.Vencimento) + sLineBreak +
                           'Valor=' + CurrToStr(ListaRetornoWeb.DadosRet.TituloRet.ValorDocumento) + sLineBreak
                            );
            end;

            SLRemessa.SaveToFile( PathWithDelim(ExtractFilePath(Application.ExeName))+'RetornoRegistro.txt' );
          finally
            SLRemessa.Free;
          end;
          ShowMessage('Retorno Envio gerado em: '+ PathWithDelim(ExtractFilePath(Application.ExeName))+'RetornoRegistro.txt' );

        end;

      end;

    end;

  6. fiz o cadastramento no banco do brasil como homologação e estou utilizando o demo para fazer os testes

    preenche todos os dados e na hora de envio esta dando Erro: 0

    Conforme o DEMO so preenchi os dados fornecidos pelo banco

     

      with ACBrBoleto1 do
      begin

        //Banco do Brasil //Dados para Homologaçao
         Cedente.CedenteWS.ClientID     := 'XXXXXXX';
         Cedente.CedenteWS.ClientSecret := XXXXXXX
         Cedente.CedenteWS.Scope        := 'cobranca.registro-boletos';
         Cedente.CedenteWS.KeyUser      := XXXXXXX

        //Função de Envio
        EnviarBoleto;
     

     

    image.thumb.png.78d4be27cf25b62a470932b89e515bd8.png

  7. estranho pq tenho cliente que funciona 100% e outros da erro em quase todas as notas manifestadas,  segundo o pessoal da tecnospeed as notas entram em fila de liberação do xml

    a manifestação não entra em fila, mas a baixa sim.

     

    so que o cliente nosso não quer saber onde é o problema, ele quer funcionando

  8. 2 horas atrás, Junior Berto disse:

    Fernando, boa tarde.

    Preciso fazer esta integração via ERP do meu cliente. Você tem algum exemplo para me ajudar ?
    Obrigado

     

    segue o codigo que uso para fazer a publicação

    se nao entender o codigo me avise

     

                             case dm_Estoque.Conf_Mercado_LivreANUNCIO.AsInteger of
                               1 : var_Tipo_Anuncio := 'gold_pro';
                               2 : var_Tipo_Anuncio := 'gold_premium';
                               3 : var_Tipo_Anuncio := 'gold_special';
                               4 : var_Tipo_Anuncio := 'gold';
                               5 : var_Tipo_Anuncio := 'silver';
                               6 : var_Tipo_Anuncio := 'bronze';
                               7 : var_Tipo_Anuncio := 'free';
                             end;

                             case dm_Estoque.Conf_Mercado_LivreFRETE.AsInteger of
                               1 : var_tipo_frete   := ',"non_mercado_pago_payment_methods": [],"shipping": {"mode": "me2","methods":[],"tags":[]}';
                               2 : var_tipo_frete   := 'gold_premium';
                               3 : var_tipo_frete   := 'gold_special';
                               4 : var_tipo_frete   := 'gold';
                             end;

                             F_Funcoes.Checa_Estoque(StrToInt(Cod_loja.Text),PesquisaCodigo.value);

                             for x := 1 to 3 do
                               begin
                                  case  x of
                                     1 : If PesquisaFOTO.AsString   <> '' then var_foto   := '  "pictures":[ {"source":"' + dm_Estoque.Conf_Mercado_LivreFTP.AsString + ExtractFileName ( PesquisaFOTO.AsString  ) + '"}';
                                     2 : If PesquisaFOTO2.AsString  <> '' then var_Foto1  := ', {"source":"' + dm_Estoque.Conf_Mercado_LivreFTP.AsString + ExtractFileName ( PesquisaFOTO2.AsString ) + '"}';
                                     3 : if PesquisaFOTO3.AsString  <> '' then var_Foto2  := ', {"source":"' + dm_Estoque.Conf_Mercado_LivreFTP.AsString + ExtractFileName ( PesquisaFOTO3.AsString ) + '"}';
                                  end;
                               end;

                             if PesquisaCOD_BARRA.AsString  <> '' then
                               var_ean := ',{"id":"EAN","value_name":"' + PesquisaCOD_BARRA.AsString + '"}';

                             if PesquisaCODIGO_CATALAGO.AsString <> '' then
                               var_Catalago := ',{"id": "PART_NUMBER","value_name":" ' + PesquisaCODIGO_CATALAGO.AsString + '"}';

                             if PesquisaQTDE_EMBALAGEM.AsInteger <> 0 then
                                var_Unidade_Pacote := ',{"id": "UNITS_PER_PACKAGE","value_name":" ' + PesquisaQTDE_EMBALAGEM.AsString + '"}'
                             else
                                var_Unidade_Pacote := ',{"id": "UNITS_PER_PACKAGE","value_name":" ' + '1' + '"}';

                             if Load_imagem(dm_Estoque.Conf_Mercado_LivreFTP.AsString + ExtractFileName ( PesquisaFOTO.AsString ) ) = 0 then
                                  var_foto := '';

                             if Load_imagem(dm_Estoque.Conf_Mercado_LivreFTP.AsString + ExtractFileName ( PesquisaFOTO2.AsString ) ) = 0 then
                                  var_foto1 := '';

                             if Load_imagem(dm_Estoque.Conf_Mercado_LivreFTP.AsString + ExtractFileName ( PesquisaFOTO3.AsString ) ) = 0 then
                                  var_foto2 := '';

                             if dm_estoque.Conf_Mercado_LivreMENSAGEM.AsString <> '' then
                                  var_Obs_Anuncio := '\n\n\n\' + MENSAGEM.Text;

                             // tipo de publicação 1 - publica todos os produtos, principal e produtos do e-commerse
                             // tipo de publicação 2 - publica somente os produtos do e-commerse

                             if dm_Estoque.Conf_Mercado_LivreTIPO_PUBLICACAO.AsInteger = 1 then
                               begin

                                     Json  := '{"title":"' + UTF8ToWideString ( PesquisaDESCRICAO.Value ) + '",'+
                                              '"category_id":"MLB63581"' + ',' +   // Codigo da Categoria
                                              '"price":' + TrocaVirgPPto ( FloatToStr( var_Preco_Venda ) ) + ',' + // Preço de Venda
                                              '"official_store_id":null, ' +
                                              '"currency_id":"BRL",' +   // vendas no Brasil
                                              '"available_quantity":' + TrocaVirgPPto ( FloatToStr( F_Funcoes.CALCULA_ESTOQUE.FieldByName('SALDO').AsFloat ) ) + ','+ // estoque
                                              '"buying_mode":"buy_it_now", '+
                                              '"listing_type_id":"' + var_Tipo_Anuncio + '"' + ',' + // tipo de anuncio
                                              '"condition":"new",' + // produto novo
                                              '"accepts_mercadopago": "true",'+ // aceita percado pago ?
                                              '"description":{"plain_text":"' + AnsiReplaceStr(  ARGUMENTO_VENDA.Text,'"','') + var_Obs_Anuncio + '\n"},' + // argumento de venda
                                              var_foto + var_foto1 + var_Foto2 +']' + ',' + // fotos
                                              '"attributes":[{"id":"model","value_name":"' + PesquisaNOME_GRUPO.AsString + '"},' +  // modelo
                                                            '{"id":"brand","value_name":"' + PesquisaNOME_MARCA.AsString + '"}'  +  // marca
                                              var_Catalago + // Numero da Peça no ML
                                              var_Unidade_Pacote + // quantidade na embalagem
                                              var_ean + ']' +  // codigo de barras
                                              var_tipo_frete // tipo de frete
                                              +'}';

                                    Json          := ReplaceAll(json,''#$D#$A#$D#$A'','\n\n');
                                    Json          := ReplaceAll(json,'#$D#$A','\n\n');

                                    JsonToSend    := TStringStream.Create( UTF8Encode(Json) );

                                    Resposta_ML   := '';

                                    // CONEXÃO COM O ML PARA ATUALIZAÇÃO DE ESTOQUE
                                    while Resposta_ML = '' do
                                      begin
                                            try
                                                      try

                                                          Resposta_ML := 'https://api.mercadolibre.com/items?access_token='+ var_Access_token;

                                                          Resposta_ML := IdHTTP1.Post(Resposta_ML, JsonToSend);

                                                          // checa se ja foi feito conexão,
                                                          joPrincipal      := TlkJSON.ParseText(TEncoding.ASCII.GetString(TEncoding.ASCII.GetBytes(Resposta_ML))) as TlkJSONobject;

                                                          if Pos('MLB',VarToStr(joPrincipal.Field['id'].Value)) <> 0  then
                                                             begin
                                                                   F_Funcoes.Qry := TpFIBQuery.Create(nil);

                                                                   with F_Funcoes.Qry do
                                                                      begin
                                                                        Close;
                                                                        SQL.Clear;
                                                                        Database    := dm_Geral.DB;
                                                                        Transaction := dm_Geral.Tr_Db;
                                                                        SQL.Add('Update Produto set produto.CODIGO_ML = :CODIGO_ML');
                                                                        SQL.Add('where produto.codigo = :CODIGO');
                                                                        ParamByName('CODIGO').AsInteger   := PesquisaCODIGO.AsInteger;
                                                                        ParamByName('CODIGO_ML').AsString := VarToStr(joPrincipal.Field['id'].Value);
                                                                        ExecQuery;

                                                                        dm_Geral.Tr_Db.CommitRetaining;
                                                                      end;

                                                                   FreeAndNil(F_Funcoes.Qry); // tira o objeto da memória

                                                                   With Pesquisa do
                                                                     begin
                                                                       Edit;
                                                                       PesquisaSELECIONADO.AsString := '1';
                                                                       Post;
                                                                     end;

                                                                   Break;
                                                             end;

                                                      except
                                                             on E: EIdHTTPProtocolException do
                                                                begin
                                                                  ShowMessage(E.ErrorMessage);
                                                                end;

                                                            on E: Exception do
                                                              begin
                                                                Resposta_ML := E.Message;

                                                                if Resposta_ML = 'HTTP/1.1 200 OK' then
                                                                  begin
                                                                   break;
                                                                  end
                                                                else
                                                                   Resposta_ML := '';

                                                              end;
                                                      end

                                            finally

                                            end;

                                      end;
                               end;

  9. estou fazendo a configuração para enviar e-mail da conta abaixo, so que ja fiz de tudo para enviar e sempre retorna o mesmo erro de envio

    ja alterei ssl, tls, ja marquei um e desmarquei o outro, ja marquei os 2 e nada de funcionar, se alguem puder dar uma ajuda 

    segue os dados da conta 

    webmail.umbler.com

    e-mail : [email protected]

    senha: teste@123

    usuario: teste

    se entrar no site https://webmail.umbler.com vc consegue acessar a caixa de e-mail, mas pelo acbr não se consegue enviar nenhum e-mail

    ja tentei

    smtp = smtp.umbler.com

    porta = 587

    usuario = teste

    tem um help deles mas ja olhei todos e não deu certo

     

    https://help.umbler.com/hc/pt-br/articles/360000264626-Configurando-meu-e-mail-no-Outlook-com-hotmail-

    https://help.umbler.com/hc/pt-br/articles/202385515-Migrando-e-mails-entre-provedores

    https://help.umbler.com/hc/pt-br/articles/202385605-Redirecionamento-de-e-mails

  10. boa noite pessoal, sei que o tópico é antigo mas o problema ainda persiste junto a sefaz, sempre dando erro de timeout, não uso acbr para manifestação das notas, uso tecnospeed ja bastante tempo e tambem não estou conseguindo baixar o xml, fazer a manifestação ate que funciona normal , mas baixar o xml so com reza, tem hora que funciona, tem hora que na maioria das vezes não da certo.

    entrei em contato com o pessoal do arquivei como ja disseram eles tem solução, mas cobram bem caro para baixar cada xml, mas é mais conta do que o site da serpro de onde eles fazen a conexão para baixar o xml.

    meus clientes estão puto sempre dizendo que o problema é do meu sistema e que outros clientes estão baixando normal os xml, so que o pessoal da tecnospeed ja enviaram milhões de e-mail para a sefaz dizendo sobre esse problema de lentidão mas sempre retornam a mesma explicação, que o servidor deles estão sem capacidade de processar todas as requisições e que o download entra em fila de solicitação, enfim tiraram o dele da reta e sempre sobra para os programadores.

    no fritar dos ovos, existe outra solução ? ou temos que nos sujeitar a site como o arquivei,serpro ou o fsist ou temos que continuar com esses erros da sefaz ?

    qual opnião de voces ? qual solução encontraram

     

  11. estou fazendo a integração de publicação de produtos no mercado livre e tenho que importar as categorias de produtos, o ML disponibiliza uma API para baixar o json e fazer a importação no sistema ERP

    Ja tentei de tudo para fazer essa importação e não estou conseguindo, não sei se o problema é por causa do tamanho do json, cerca de 40.000 categorias ou outro motivo que não encontrei

    o Json esta correto pq ja fiz a validação dele e esta tudo correto.

     

    Segue o arquivo zipado do json com todas as categorias, se alguem puder me ajudar fico muito agradecido

    Segue o codigo que estou usando para fazer a importação dele

     

     JsonPrincipal  : TlkJSONobject;

     JsonPrincipal  := TlkJSON.ParseText(TEncoding.ASCII.GetString(TEncoding.ASCII.GetBytes(Memo1.Lines.Text))) as TlkJSONobject;

    Ele passa no JsonPrincipal normal, so que se for ver se tem algum registro usando o JsonPrincipal .count ele da erro de access violation, parece que não foi criado a JsonPrincipal  

     

    categoria.zip

  12. boa noite pessoal, olhando o arquivo csv em anexo, ele esta incompleto e irão ter alguns problemas fazendo a importação dessa forma.

    Uma compra parcelado em 10x o arquivo exportado, so contem 1 registro em vez de 10 parcelas, então nesse caso como irão fazer a baixa da duplicata atribuida a essa venda parcelada.

    Exemplo

    Comprei 1.000,00 / 4 parcelas, cada parcela de 250,00, quando a cielo exporta nessa padrão acima, ele irá exportar somente 1 registro de 1.000,00 e não um registro para cada parcela e nesse caso quando for fazer a baixa do título gerado pela compra no cartão, como irão fazer ja que no csv esta lançado 1.000,00

    Existe outro arquivo que eles exportam que vem completo, seque anexo o da Cielo

     

    20200103_CIELO04_1098553761_68432784

×
×
  • 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.