Boa noite galera,
Trabalho em uma empresa, sempre usamos uma forma de boleto do banco do brasil, assim desde quando entrei aqui. Hoje precisamos mudar para o boleto da caixa. Encontrei um código do VirtuaStore, porém é antigo, acho que os padrões mudaram, pois não consegui utiliza-lo. Ele pede umas informações sobre a conta, pedi todas que identifiquei como necessárias ao contador da empresa, não sei realmente quais são necessárias mexer, confesso.
Resultado, estou pensando em comprar esse código de gerar boletos do aspboleto.com da caixa, por 60,00. O que me recomendam? O código que uso ainda é funcional?
Boa Parte/Importante do Código:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <!--#include file="..\global.inc" --> <%response.Buffer = true%> <%session.LCID = 1046%> <% '######################################################################################### '#---------------------------------------------------------------------------------------- '# BOLETO CEF - VERSÃO 1.0 '# Adaptado por: MJSIERRA@IG.COM.BR '#---------------------------------------------------------------------------------------- '######################################################################################### '# '# CÓDIGO: VirtuaStore Versão OPEN - Copyright 2001-2004 VirtuaStore '# URL: http://comunidade.virtuastore.com.br '# E-MAIL: comunidade@virtuastore.com.br '# AUTORES: Otávio Dias(Desenvolvedor) '... '######################################################################################### '#---------------------------------------------------------------------------------------- '######################################################################################### %> <% '******************************** '****FUNÇÕES******************** '******************************** Function FormataData(Data) If Data <> "" Then FormataData = Right("0" & DatePart("d", Data),2) & "/" & Right("0" & DatePart("m", Data),2) & "/" & DatePart("yyyy", Data) End Function '******************************** ' CONSTANTES '******************************** cons_banco = "104" 'bol_banco, Num do Banco 03 posições cons_dvbanco = "0" 'bol_dvbanco, Digito verificador do banco 01 posição cons_agencia = "XXXX" 'bol_agencia, sem digito 04 posições cons_conta = "XXXXX" 'bol_conta, ContaCedente (Somente Números) 05 posições cons_dvconta = "X" 'Digito verificador da CC 01 posição cons_carteira= "SR" 'Código da Carteira: pode ser SR (Sem Registro) ou CR (Com Registro) - (Confirmar com gerente qual usar) - bol_carteira cons_moeda = "9" cons_especie = "R$" cons_cedente = "Empresa" 'bol_cedente cons_dadoscedente = "Rua Empresa, 111 - Bairro - CEP: 55555-005" 'bol_dadoscedente cons_codigocedente= "XXXXXXXXXXX" 'bol_nr_cedente - 11 Caracteres cons_dvcodigocedente= "X" cons_taxaboleto = "2.95" '******************************** ' CARREGAR PERFIL CLIENTE '******************************** id = request.QueryString("id") set rs = conn.execute ("select * from fisica where codcpf = '"& id &"' ") fisica = rs("codigo") nome = rs("nome") CPF = rs("cpf") bolsaestudo = rs("bolsaestudo") valordabolsa = rs("valordabolsa") prouni = rs("prouni") set rs = conn.execute ("select * from inscricao where fisica = '"&fisica&"' ") inscricao=rs("codigo") curso = rs("codcurso") if curso=4 then ' valor=400 'mensalidade else valor=5 'mensalidade end if if(bolsaestudo=2 and valordabolsa=1) then ' 50% valor=valor/2 elseif(bolsaestudo=2 and valordabolsa=2) then ' 100% valor=0 elseif(bolsaestudo=1) then 'espaço para plano end if datahoje = now datavencimento = dateAdd("d",5,date) set rs = conn.execute ("select * from boleto where fisica = '"& fisica &"' ") if rs.eof then set rs = conn.execute ("insert into boleto (fisica, inscricao, valor, dataemissao, datavencimento) values ('"& fisica &"', '"&inscricao&"', '"&valor&"', '"&datahoje&"', '"&datavencimento&"')") else set rs = conn.execute ("update boleto set valor='"&valor&"' where fisica = '"& fisica &"' ") end if '******************************** ' VARIÁVEIS '******************************** var_sacado = nome 'Request.QueryString("sacador") var_CPFSacado= CPF 'Request.QueryString("cpf") '*************************************** Function Converten(pNumeron) Converten = Right(String(8,"0") &_ cstr(pNumeron * 100),8) End Function '**************************************** '************************************ 'Preencher com zeros a esquerda Function strZeros(strValor,Tamanho) while len(strValor) < Tamanho strValor = "0" & strValor wend StrZeros=strValor End Function '********************************** 'Data de Vencimento 5 dias após a data do servidor Ano = DatePart("yyyy", DateAdd("d", 5, date)) Mes = DatePart("m", DateAdd("d", 5, date)) if Len(Mes) < 5 then Mes = "0" & Mes end if Dia = DatePart("d", DateAdd("d", 5, date)) if Len(Dia) < 5 then Dia = "0" & Dia end if Dim dataHoje dataHoje = day(now)&"/"&month(now)&"/"&year(now) '********************************** set rs = conn.execute ("select * from boleto where fisica = '"& fisica &"' ") valorMensalidade= rs("valor") dataemissao = rs("dataemissao") datavencimento = rs("datavencimento") var_datadocumento = FormataData(dataemissao) 'Data de emissão do Boleto var_datavencimento = FormataData(datavencimento) 'Data de Vencimento do Boleto - REGRA: Formato DD/MM/AAAA var_valordocumento = Cstr(valorMensalidade)+",00" 'Valor do Documento var_numerodoc = rs("codigo") 'Num do Documento 'Carteira SR: 80, 81 ou 82 - Carteira CR: 90 (Confirmar com gerente qual usar) var_inicionossonumero = "80" 'var_nossonumero = CStr(Cint(var_inicionossonumero)+var_numerodoc) 'Nosso numero sem o DV - REGRA: Máximo de 8 caracteres! var_nossonumero = var_numerodoc 'Nosso numero sem o DV - REGRA: Máximo de 8 caracteres! var_instrucoes="<B><BR>Não receber após o vencimento.<BR> MULTA de 0,02% por dia de atraso<BR> </b>" var_intervalo = CDate(Var_datavencimento)-CDate(Var_datadocumento) if var_intervalo > 5 then var_observacoes="<B> <BR> Pagamento referente à Blá Blá Blá <BR> Outra Linha <BR> <BR></b>" else var_observacoes="<B> <BR> Pagamento referente à Blá Blá Blá <BR> Outra Linha <BR> <BR></b>" end if if var_numerodoc = "" then if var_CPFSacado<>"" then var_nossonumero = mid(var_CPFSacado,1,7) end if end if
Informações que achei necessárias para gerar o boleto e que pedi ao contador:
Código da Agência: sem o dígito (04 posições) XXXX
Conta Cedente: (Somente Números) (05 posições) XXXX / operação XXX
Digito Verificador da Conta Cedente: (01 posição) X
Código da Carteira: pode ser SR (Sem Registro) ou CR (Com Registro) - (Confirmar com gerente qual usar) SR
Código Cedente: (número do cedente) (11 posições) XXXXXX
Digito Verificador Código Cedente: (01 posição) NÃO POSSUI