Clipper On Line • Ver Tópico - Livraria para registro imediato de boletos

Livraria para registro imediato de boletos

Aqui você poderá divulgar/oferecer Produtos, Serviços e Negócios.

Moderador: Moderadores

 

Livraria para registro imediato de boletos

Mensagempor bencz » 27 Set 2017 11:34

Com o fim do boleto sem registro, foi gerado um grande problema para os e-commerces e sistemas que emitem boletos de forma pontual para os clientes, pensando neste problema, foi desenvolvido uma ferramenta para atender essa demanda, que serve para realizar o registro do boleto de forma instantânea junto ao banco, esta ferramenta se comunica DIRETAMENTE com o banco, por tanto, não ha comunicação com uma empresa terceira para depois de comunicar com o banco, mantendo toda a privacidade dos dados da cobrança da sua empresa.
Esta ferramenta foi desenvolvida em C++ com interface em C, para que seja possível acessar a DLL de qualquer linguagem, para que possa ser utilizada com qualquer linguagem de programação, que consiga acessar uma DLL, por tanto, pode ser utilizado em ambiente WEB com ASP.Net, php ( ha restrições da versão ), e em ambiente Desktop, com Harbour, Clipper, C/C++, C#, VB....

Atualmente a DLL possui a implementação concluída dos seguintes bancos:
[*] Banco do Bradesco
[*] Banco Itau

Bancos que estão em fase de testes:
[*] Banco Santander
[*] Banco do Brasil

Caso você possua interesse na DLL, entre em contato para conversarmos!

Contato: alexandre.b@iwts.com.br

Segue alguns exemplos de uso da DLL:

C#
        static void FazRegistro(Banco banco)
        {
            // Cria o pagador
            Pagador pagador = new Pagador()
            {
                TipoDoDocumento = TipoDocumento.CPF,
                NumeroDoDocumento = "99999999999",
                Nome = "Benjamin Bruno",

                Endereco = new EnderecoDoPagador()
                {
                    Logradouro = "Travessa Municipal",
                    Numero = "855",
                    Bairro = "Centro",
                    Municipio = "Pinhão",
                    CEP = "049517-970",
                    UF = "SE"
                }
            };

            // Cria o titulo
            Titulo titulo = new Titulo()
            {
                Especie = EspecieDoTitulo.DM,
                Aceite = Aceite.NAO,
                Valor = 100.00,
                NumeroDoDocumento = "DOC C#",
                NossoNumero = "88776655",
                DataDeEmissao = new DateTime(2017, 8, 25),
                DataDeVencimento = new DateTime(2017, 10, 30),
                Juros = new CampoValorEData() { Valor = 0.4, Data = new DateTime(2017, 11, 1) },
                Multa = new CampoValorEData() { Valor = 8.00, Data = new DateTime(2017,11, 5) },
                Bonificacao = new CampoValorEData() { Valor = 2.00, Data = new DateTime(2017,9,28) },
                Abatimento = 1.00
            };
            titulo.Descontos = new CampoValorEData[3];
            titulo.Descontos[0] = new CampoValorEData(2.35, new DateTime(2017, 09, 29));
            titulo.Descontos[1] = new CampoValorEData(1.35, new DateTime(2017, 09, 30));
            titulo.Descontos[2] = new CampoValorEData(0.35, new DateTime(2017, 10, 01));

            string licencaDaConta = banco == Banco.BRADESCO ? LicencaDaConta_Bradesco : LicencaDaConta_Itau;

            try
            {
                using (RegistraBoleto registraBoleto = new RegistraBoleto(LicencaDeUso, licencaDaConta) { RegistraEmProducao = false })
                {
                    registraBoleto.Pagador = pagador;
                    registraBoleto.Titulo = titulo;

                    if(banco == Banco.BRADESCO)
                        registraBoleto.FazRegistroBradesco("DIR CERTIFICADO", "SENHA CERTIFICADO");
                    else
                        registraBoleto.FazRegistroItau("ID CLIENTE", "CHAVE SECRETA", "CHAVE ITAU");

                    DetalhesRetornoRequest detalhesRetorno = registraBoleto.GetDetalhesRetornoRequest();
                    if (detalhesRetorno.TituloRegistrado)
                    {
                        Console.WriteLine("Linha digitavel.: {0}", detalhesRetorno.LinhaDigitavel);
                        Console.WriteLine("Codigo de barras: {0}", detalhesRetorno.CodigoDeBarras);
                        Console.WriteLine("Nosso numero....: {0}", detalhesRetorno.NossoNumero);
                        detalhesRetorno.DetalhesDoStatus.ForEach(x => Console.WriteLine("Detalhe do status codigo {0}: {1}", x.CodigoStatus, x.DescricaoStatus));

                        //registraBoleto.GeraImagemEmPng($"out_{banco.ToString()}.png");

                        // Gera a imagem do boleto, em memoria
                        Bitmap img = registraBoleto.GeraImagemDoBoleto();

                        // Salva a imagem do boleto
                        img.Save($"out_{banco.ToString()}.png", ImageFormat.Png);
                    }
                    else
                        detalhesRetorno.DetalhesDoStatus.ForEach(x => Console.WriteLine("Detalhe do status codigo {0}: {1}", x.CodigoStatus, x.DescricaoStatus));
                }
            }
            catch (RegistraBoletoException regex)
            {
                Console.WriteLine("Codigo do erro: {0}\nDescricao do erro: {1}", regex.CodigoDeErro, regex.Message);
            }
        }


C
int fazRegistro()
{
   RegistraBoleto* registraBoleto = iniciaRegistraBoleto(LIC_USO, LIC_CNT);
   if (registraBoleto == NULL)
      return -1;
   else if (getTotalDeErros(registraBoleto) > 0)
      mostraErro(registraBoleto);

   Pagador* pagador = iniciaPagador(registraBoleto, 1, "99999999999");
   setNomeDoPagador(pagador, "Benjamin Bruno");
   setEnderecoDoPagador(pagador, "Travessa Municipal", "855", NULL, "Centro", "049517-970");
   setMunicipioDoPagador(pagador, "Pinhao", "SE");

   Titulo* titulo = iniciaTitulo(registraBoleto);
   setEspecieDoDocumento(titulo, DM);
   setValorDoTituloDouble(titulo, 100.00);
   setNumeroDoDocumentoDoTitulo(titulo, "NUM DOC C");
   setNossoNumeroDoTitulo(titulo, "07918618");
   setDataDeEmissaoDoTitutlo(titulo, "22.08.2017");
   setVencimentoDoTitulo(titulo, "30.10.2017");
   setJurosValorDouble(titulo, 0.4, "01.11.2017");
   setMultaValorString(titulo, "800", "05.11.2017");
   setBonificacaoValorDouble(titulo, 2.00, "28.08.2017");
   setValorAbatimentoDouble(titulo, 1.00);
   adicionaDescontoValorDouble(titulo, 2.35, "28.09.2017");
   adicionaDescontoValorString(titulo, "1.00", "29.09.2017");
   adicionaDescontoValorString(titulo, "1.00", "1.10.2017");

#if BRADESCO
   Boleto* boleto = iniciaRequestBradesco_certificadoArquivo(registraBoleto, PATH_CERTIFICADO, SENHA_CERTIFICADO);
#elif ITAU
   Boleto* boleto = iniciaRequestItau(registraBoleto, CLIENT_ID, CLIENT_SECRET, ITAU_CHAVE);
#endif

   setConteudoDoBoleto(boleto, titulo, pagador);

   RetornoRequest* retornoRequest = NULL;
   retornoRequest = fazRegistro(boleto, FALSE);
   if (retornoRequest == NULL)
      mostraErro(registraBoleto);
   else
   {
      if (mostraDetalhesRegistro(retornoRequest) == 0)
      {
         geraImagemDoBoletoEmPng(boleto, "out.png");
      }
   }

   disposePagador(pagador);
   disposeTitulo(titulo);
   disposeBoleto(boleto);
   disposeRegistraBoleto(registraBoleto);
   
   if(retornoRequest != NULL)
      disposeRetornoRequest(retornoRequest);
}

Leia as Regras desta seção
1 - O Fórum Clipper On Line não será de qualquer modo responsável principal, solidário ou subsidiário pelos anúncios veiculados neste fórum "Classificados - Serviços e Negócios", bem assim pela procedência, licitude, especificação, qualidade e estado dos produtos e serviços anunciados, pelo inadimplemento ou atraso de qualquer das partes negociantes ou, ainda, pela eventual lesão a direito material ou moral das mesmas, sendo certo que negócios que resultarem de tais anúncios deverão ser pautados exclusivamente na confiança entre os envolvidos, aos quais caberá adotar as medidas de segurança e garantia que entenderem pertinentes para a melhor conclusão do negócio.

Imagem
Avatar de usuário

bencz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 517
Data de registro: 28 Abr 2012 17:36
Curtiu: 6 vezes
Mens.Curtidas: 34 vezes



Retornar para Classificados - Serviços e Negócios

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro