Ir para conteúdo
  • Cadastre-se

Larry

Membros
  • Total de ítens

    120
  • Registro em

  • Última visita

1 Seguidor

Últimos Visitantes

2.180 visualizações

Larry's Achievements

Collaborator

Collaborator (7/14)

  • Dedicated Rare
  • First Post
  • Collaborator Rare
  • Week One Done
  • One Month Later

Recent Badges

25

Reputação

  1. Obrigado Leandro, tinha feito isso, só não queria informar um troco que não existe caso do cliente final analisar o xml. Um belo dia alguém pode contestar que esqueceram de dar o troco... Vou colocar uma informação nos dados adicionais descrevendo o credito.
  2. Bom dia, Fiz isso sim, e da a rejeição.
  3. Boa tarde, Estou com um caso com alguns clientes que ao fazer uma venda é pago um valor maior que o total da venda e essa diferença fica como crédito para uma compra futura. Por exemplo: o cliente final compra um produto de R$10,00 e paga R$15,00 , ficando com R$5,00 de crédito para um compra futura. No xml se eu informar vNF=10.00 e vPag=15.00 (dinheiro) da essa rejeição. Tentei também colocar vNF=15.00, vPag=10.00 (dinheiro) e outro vPag=5.00 (outra forma pagamento qualquer) mas da a mesma rejeição. Se eu informar um vTroco=5.00 a nota passa mas se o cliente final analisar o xml vai encontrar um troco que nunca existiu. Obs: nota fiscal do Rio Grande do Sul. Tem alguma forma de informa esse pagamento de R$15,00?
  4. sim, só uma nota
  5. É 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".
  6. Traz 'Lote recebido com sucesso'.
  7. Larry

    Exceção em ACBrNFe1.Enviar

    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?
  8. Não precisa ter domínio não. O campo "Common Name" é opcional e você pode colocar qualquer coisa.
  9. 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.
  10. 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);
  11. obs: se der erro no comando openssl.exe digita: set OPENSSL_CONF=C:\OpenSSL-Win32\bin\openssl.cfg
  12. 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
  13. 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.
  14. 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?
  15. É para gerar o xml em um computador e enviar para outro computador imprimir o sat.
×
×
  • 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.

The popup will be closed in 10 segundos...