Jump to content

click.png

click.png

click.png

click.png

click.png

click.png

click.png click.png click.png

click.png

click.png

click.png

click.png

click.png

click.png

Larry

Membros
  • Posts

    117
  • Joined

  • Last visited

1 Follower

Recent Profile Visitors

1,582 profile views

Larry's Achievements

Collaborator

Collaborator (7/14)

  • First Post
  • Collaborator Rare
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

23

Reputation

  1. É para nfc-e em Pernambuco. Sempre usei assincrono, mas ao usar assíncrono em PE recebo a rejeição "Solicitada resposta assincrona para Lote com somente 1 (uma) NFC-e".
  2. Traz 'Lote recebido com sucesso'.
  3. Boa tarde, Sempre utilizei o envio de nfe e nfce da forma: try ACBrNFe1.Enviar(1,False,False); *** fluxo 1 except *** fluxo 2 end; Ao enviar a nfe normalmente segue o fluxo1. Mas se eu mudar para ACBrNFe1.Enviar(1,False,True) vou direto para o fluxo 2 (exceção). O ACBrNFe1.WebServices.Enviar.cStat retorna 103. É normal isso?
  4. Não precisa ter domínio não. O campo "Common Name" é opcional e você pode colocar qualquer coisa.
  5. Terminei o código para o button13 do teste que anexei (Consulta Lista de Boletos Inter) que ainda não estava pronto: procedure TForm1.Button13Click(Sender: TObject); var JsonStreamRetorno,JsonStreamEnvio: TStringStream; lista1:tstringlist; valor:real; texto:string; Parametros:string; begin Memo1.Clear; lista1:=tstringlist.create; JsonStreamRetorno := TStringStream.Create(''); lista1.text:='';//memo3.text; JsonStreamEnvio := TStringStream.Create(lista1.text); IdHttp1.Request.CustomHeaders.Clear; IdHTTP1.Request.CustomHeaders.Add('Content-Type: application/json'); IdHTTP1.Request.CustomHeaders.Add('x-inter-conta-corrente: '+conta_corrente); Parametros:=''; Parametros:=Parametros+'?filtrarPor=TODOS'; Parametros:=Parametros+'&dataInicial=2020-01-01'; Parametros:=Parametros+'&dataFinal=2020-08-14'; Parametros:=Parametros+'&ordenarPor=SEUNUMERO'; try IdHTTP1.Get('https://apis.bancointer.com.br:8443/openbanking/v1/certificado/boletos'+Parametros , JsonStreamRetorno); except on E:EIdHTTPProtocolException do memo1.Lines.add(IdHTTP1.ResponseText+#13#10+e.ErrorMessage) else showexception(exceptobject, exceptaddr); end; memo1.Lines.Add('Código de retorno: '+inttostr(IdHTTP1.ResponseCode)); memo1.Lines.Add(''); if JsonStreamRetorno.DataString<>'' then Memo1.Lines.add(JsonStreamRetorno.DataString); if IdHTTP1.ResponseCode<>200 then showmessage('Transação não pode ser inicada ('+inttostr(IdHTTP1.ResponseCode)+').'); end; obs: esse foi um teste inicial, por isso tem algumas variaveis declaradas que não tem uso. obs: lembrando que de acordo com o manual do Inter os boletos lançados no dia de hoje não aparecem na listagem, somente os anteriores. Já na consulta individual aparece.
  6. Ja fiz coisa muito parecida usando TRESTClient, TRESTRequest e TRESTResponse para outra api. Segue um trecho do código: RESTClient1.BaseURL:='url'; RESTRequest1.Method:=TRESTRequestMethod.rmPOST; RESTRequest1.Body.ClearBody; RESTRequest1.Body.Add('Content-Type:application/json'); RESTRequest1.Body.Add('Authorization: 13245'); RESTRequest1.Body.Add('Accept:application/json'); RESTRequest1.Body.Add('{'); RESTRequest1.Body.Add(' "sendSmsRequest": {'); ....... try RESTRequest1.Execute; jValue:=RESTResponse1.JSONValue; except on E:erestexception do memo1.Lines.add(e.ToString) else mostra_erro; end; ..... jValue:=RESTResponse1.JSONValue; Memo1.Lines.add('ResponseCode: '+inttostr(RESTResponse1.StatusCode)); if jValue.ToString<>'' then memo1.Lines.Add(jValue.ToString);
  7. obs: se der erro no comando openssl.exe digita: set OPENSSL_CONF=C:\OpenSSL-Win32\bin\openssl.cfg
  8. Primeiro tem que criar os arquivo do certificado. No exemplo que vou postar tem que colocar no formcreate o numero da conta e o caminho de 3 dos arquivos criados. No memo3 tem que substituir alguns campos com os dados corretos: 1) Crie o aplicativo dentro do banco Inter a) Digite o seguinte comando no console (evite acentos): openssl req -new -newkey rsa:2048 -nodes -keyout nomearquivo.key -out nomearquivo.csr b) Nos campos solicitados, insira as informações: Country Name (código do país): as duas letras que representam o país internacionalmente. Ex: BR é Brasil State or Province Name (nome completo do estado): ex. Goias Locality Name (nome completo da cidade): ex. Goiania Organization Name (a razão social completa da sua empresa): ex. SuaEmpresa Organizational Unit Name (número de aplicação): copie a chave exclusiva gerada pelo Inter e cole-a no campo. Este é o "Número de aplicação" e é formado por letras, números e separado por hífens. Common Name (nome comum - campo opcional): o nome de domínio totalmente qualificado, ou URL que você deseja proteger. Exemplo: SEUDOMINIO.COM.BR E-mail Address (endereço de e-mail): insira seu e-mail A Challenge Password (uma senha forte): crie uma senha forte para este SSL c) Abra a CSR em um editor de texto e copie todo o texto gerado. d) Cole o texto gerado no campo "Assinatura do certificado (CSR)" e clique em "Confirmar". 2) Espere receber o e-mail do Inter avisando que sua aplicação foi Aprovada. Apos aprovação acesse suas aplicações no site do Inter e clique na seta que aparece do lado esquerdo no dome da aplicação. Clique no icone da nuvem para baixa o certificado (.crt). 3) Faça a seguinte conversão com o arquivo baixado: openssl x509 -inform PEM -in nomearquivo.crt > nomearquivo-publicchave.pem 4) Com o arquivo .KEY gerado anteriormente no passo 1 openssl rsa -in nomearquivo.key -text > nomearquivo-privatechave.pem BoletoInterAcbr.rar Desenvolvi tudo hoje... Ainda tem muito a fazer para uma implementação, mas como não conheço a fundo os moldes dos fontes do Acbr acho que alguém pode fazer bem melhor. ja tinha pensado o mesmo kkk
  9. Consegui fazer inclusão, consulta e download pdf com a api do Inter. Se aguem quiser me avisa que faço um passo a passo.
  10. Larry

    Consumo indevido

    Boa tarde, Desde ontem estou com vários cliente recebendo a mensagem de consumo indevido ao emitir a nf-e. Faço a consulta ao status de serviço apenas ao emitir a primeira nfe. E após a emissão não faço consulta do status da nfe. Alguém sabe o que poderia ser?
  11. É para gerar o xml em um computador e enviar para outro computador imprimir o sat.
  12. Bom dia, Segue os arquivos anexado. O arquivo "arqcfe.xml" contem um xml com a tag ICMS preenchida e após os comandos abaixo o arquivo "novocfe.xml" é criado com a tag ICMS vazia: ACBrSAT1.CFe.Clear; //ACBrSAT1.InicializaCFe; ACBrSAT1.CFe.LoadFromFile('c:\teste\arqcfe.xml'); ACBrSAT1.CFe.GerarXML(True); ACBrSAT1.CFe.SaveToFile('c:\teste\novocfe.xml'); Observação: se a linha do InicializaCFe for descomentada a tag do ICMS é gerada com os dados originais preenchidos. arqcfe.xml novocfe.xml
  13. Eu salvo o xml em disco ou no banco de dados antes de enviar e posteriormente carrego esse xml para enviar ao sat. Só que ao carregar o xml se eu não utilizar a função InicializaCFe, quando executo a função GerarXML a tag do ICMS fica vazia.
  14. Bom dia, Percebi um problema na seguinte situação: - Se eu gerar o xml e em seguida rodar um ACBrSAT1.CFe.GerarXML(True) ocorre tudo bem - Porem se antes do "GerarXML" eu fizer um ACBrSAT1.CFe.SaveToFile, depois um ACBrSAT1.CFe.Clear e depois um ACBrSAT1.CFe.LoadFromFile a tag ICMS esta preenchida, mas ao rodar o GerarXML a tag ICMS fica vazia. A propriedade Config.Emit_cRegTrib foi preenchida corretamente. E se antes do LoadFromFile e rodar um ACBrSAT1.InicializaCFe funciona normalmente. Então é por causa do InicializaCFe mesmo?
×
×
  • 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.