<%If navegacaocompra = "fim" Then%>
|
<%Else%>
|
<%End if%>
<%
permissao = "read"
page = "recibo"
readonly = "readonly"
compra = "aprovada"
' Condição para alterar a forma de pagamento do pedido
If Request.Form("mode") = "changeMeioPagto" Then
' Caso o arquivo XML do pedido não for localizado haverá um redirecionamento para página de carrinho vazio.
If Not VerificaExistenciaArquivo(Application("DiretorioPedidos")&session("id_transacao")&".xml") Then
Response.redirect ("carrinho_vazio.asp")
Response.end
End If
' Ajusta a sessão da opção de pagamento
Session("forma_pagamento") = Request.Form("newMeioPagto")
' Remonta o valor total do pedido
currTotalPedido = Cdbl(pegaValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","valor_subtotal")) + Cdbl(pegaValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","valor_frete"))
' Atualiza o XML do pedido com os novos dados
Call alteraValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","valor_total",FormatNumber(currTotalPedido,2))
Call alteraValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","num_parcelas","01")
Call alteraValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","tipo_taxa_adicional","")
Call alteraValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","taxa_adicional","0")
Call alteraValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","forma_pagamento","Boleto")
' Formata o valor total do pedido
VARtotal = replace(currTotalPedido,".","")
VARtotal = replace(VARtotal,",",".")
' Atualiza o banco de dados com os novos dados
Conexao.Execute("UPDATE Pedidos SET boleto_emitido = 1, tipo_taxa_adicional = '', taxa_adicional = 0, num_parcelas = 1, total = "& VARtotal &" WHERE codigo_pedido = " & Request.Form("codigo_pedido"))
End If
' *********************** AMEX **********************
If Request("MerchTxnRef") <> "" Then
' Captura os parâmetros de retorno
MerchTxnRef = request("MerchTxnRef")
OrderInfo = request("OrderInfo")
BatchNo = request("BatchNo")
ReceiptNo = request("ReceiptNo")
AuthorizeId = request("AuthorizeId")
TransactionNo = request("TransactionNo")
AcqResponseCode = request("AcqResponseCode")
TxnResponseCode = request("TxnResponseCode")
Message = request("Message")
CSCResultCode = request("CSCResultCode")
CSCRequestCode = request("CSCRequestCode")
AcqCSCRespCode = request("AcqCSCRespCode")
' Caso a referência da transação seja nula, resgata do campo livre
If MerchTxnRef = "" Or MerchTxnRef = "No Value Returned" Then
MerchTxnRef = OrderInfo
End If
'Grava os dados da transação Amex no banco de dados
Call GravaTransacaoFinalAmex(MerchTxnRef,BatchNo,ReceiptNo,AuthorizeId,TransactionNo,AcqResponseCode,TxnResponseCode,Message,CSCResultCode,CSCRequestCode,AcqCSCRespCode)
If TxnResponseCode <> "0" Then
compra = "negada"
Session("codigo_pedido") = MerchTxnRef
cod_erro = TxnResponseCode
msg_erro = AMEX_getresponseDescription(TxnResponseCode)
End If
End If
' *********************** ITAU **********************
'Post para descriptografia do DC retornado
If Request("DC") <> "" Then
Call Recibo(Conexao,"Itau",compra,cod_erro,msg_erro,identificacao_pedido)
End If
' *********************** VISANET **********************
'Captura dados de retorno da Visanet
If Request("TID") <> "" Then
'Verifica se a transação é Visa ou VisaElectron
If Right(Request("TID"),4) = "A001" Then
formaPagamento = "VisaElectron"
Else
formaPagamento = "Visa"
End If
Call Recibo(Conexao,formaPagamento,compra,cod_erro,msg_erro,identificacao_pedido)
End If
' *********************** BANCO DO BRASIL **********************
'Verificacao inicial
If Request("refTran") <> "" And Request("RECIBOFIM") <> "1" Then
Call Recibo(Conexao,"Brasil",compra,cod_erro,msg_erro,identificacao_pedido)
End If
' *********************** REDECARD **********************
'Verificacao inicial
If Request("NR_CARTAO") <> "" Then
Call Recibo(Conexao,"Mastercard",compra,cod_erro,msg_erro,identificacao_pedido)
End If
' *********************** BRADESCO **********************
'Captura dados de retorno do Bradesco
If Request("merchantid") <> "" Then
' Recria a sessão do codigo do pedido
If Request("numOrder") <> "" Then
Session("codigo_pedido") = Request("numOrder")
ElseIf Request("orderId") <> "" Then
Session("codigo_pedido") = Request("orderId")
End If
' Atualiza o banco de dados com o status da transação
Set RS_Bradesco = CreateObject("ADODB.Recordset")
Set RS_Bradesco.ActiveConnection = Conexao
RS_Bradesco.CursorLocation = 3
RS_Bradesco.CursorType = 0
RS_Bradesco.LockType = 3
RS_Bradesco.Open "SELECT codigo_pedido, cod, errordesc FROM Transacao_Bradesco WHERE codigo_pedido = "&Session("codigo_pedido")&"", Conexao
If Request("cod") <> "" Then
RS_Bradesco("cod") = Request("cod")
End if
If Request("errordesc") <> "" Then
RS_Bradesco("errordesc") = Request("errordesc")
End If
RS_Bradesco.Update
RS_Bradesco.Close
Set RS_Bradesco = nothing
'Verifica se houve erro na transação
If Request("errordesc") <> "" Or Request("cod") <> "0" Then
compra = "negada"
cod_erro = Request("cod")
msg_erro = Request("errordesc")
If (request("cod")<=-101) And (request("cod")>=-104) Or (request("cod")=-111) Or (request("cod")=-125) Or (request("cod")=-124) Then
VarStrAdicional = Application("RecTxtPagtoSujConfirmacao")
End If
End If
End If
' *********************** ABNCDC **********************
If Request("RET01") <> "" Then
' Erro no processamento da transacao
If Request("RET01") <> 1 And Request("RET01") <> 2 Then
compra = "negada"
cod_erro = Request("RET01")
msg_erro = ABN_MSG_status(Request("RET01"), Request("RET02"))
End If
'Ativa a sessão para o código do pedido
Session("codigo_pedido") = Request.Querystring("NUMPEDIDO")
End If
%>
|
<%
' *********************** EM CASO DE COMPRA NEGADA **********************
If compra = "negada" Then
%>
| <%=Application("RecTxtTitResultadoTrans")%> |
| <%=Application("RecTxtTitMsgErro")%> |
| <% Response.write Application("RecTxtNumPedido") &": " & Session("codigo_pedido")%> |
<%If identificacao_pedido <> "" Then%>
| <% Response.write Application("RecTxtIdentPedido") & ": " & identificacao_pedido%> |
<%End if%>
| <% Response.write Application("RecTxtCodigoErro") & ": " & cod_erro%> |
| <% Response.write Application("RecTxtMsgErro") & ": " & msg_erro%> |
| <% Response.write VarStrAdicional%> |
|
<%=Application("RecTxtInstrAlterarPagto")%> /carrinho.asp?lang=<%=varLang%>&mode=changeMeioPagto"><%=Application("RecTxtCliqueAqui")%>
<% If pegaValorAtrib(Application("XMLMeiosPagamentos"),"configuracao/pagto[@nome_pagto='Boleto']","disponivel") = "sim" Or pegaValorAtrib(Application("XMLMeiosPagamentos"),"configuracao/pagto[@nome_pagto='CobreBem']","disponivel") = "sim" Then %>
<%=Application("RecTxtInstrFinalizarPagtoBoleto")%> <%=Application("RecTxtCliqueAqui")%>
<% End If %>
|
<%
' *********************** EM CASO DE COMPRA APROVADA **********************
ElseIf compra = "aprovada" Then
%>
|
| <%=Application("RecTxtTitReciboCompra")%> |
<%If pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","EbitAtivo") = "sim" Then%>
<%CodigoEbit=pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","CodigoEbit")%>
<%End if%>
<%
'Prazo de entrega conforme a modalida selecionada pelo comprador
opcao_frete = Pega_DadoBanco("Pedidos","tipo_frete","codigo_pedido",session("codigo_pedido"))
'Forma de entrega SEDEX
If opcao_frete = "SEDEX" Then
msgPrazoEntrega = pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","PrazoEntregaSedex")
'Forma de entrega PAC
ElseIf opcao_frete = "PAC" Then
msgPrazoEntrega = pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","PrazoEntregaPAC")
'Forma de entrega E-SEDEX
ElseIf opcao_frete = "E-SEDEX" Then
msgPrazoEntrega = pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","PrazoEntregaESedex")
'Forma de entrega DIRECT EXPRESS
ElseIf opcao_frete = "DIRECT EXPRESS" Then
msgPrazoEntrega = pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","PrazoEntregaDirectExpress")
'Forma de entrega TRANSPORTADORA A COBRAR
ElseIf opcao_frete = "TRANSPORTADORA A COBRAR" Then
msgPrazoEntrega = pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","PrazoEntregaTransportadora")
'Forma de entrega FEDEX
ElseIf opcao_frete = "FEDEX" Then
msgPrazoEntrega = pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","PrazoEntregaFedex")
'Forma de entrega RETIRAR NA LOJA
ElseIf opcao_frete = "RETIRAR NA LOJA" Then
msgPrazoEntrega = pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","PrazoEntregaRetirarNaLoja")
'Forma de entrega FRETE PERSONALIZADO
ElseIf opcao_frete = UCASE(pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","NomeFretePersonalizado")) Then
msgPrazoEntrega = pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","PrazoEntregaFretePersonalizado")
End if
%>
| <%=Application("RecTxtNumPedido")%>: <%=session("codigo_pedido")%> |
| <%=Application("RecTxtIPUsado")%>: <%=request.ServerVariables("REMOTE_ADDR")%> |
| <%=Application("RecTxtPrazoEntrega")%>: <%= msgPrazoEntrega%> |
| <%=Application("RecTxtFormaEntrega")%>: <%=opcao_frete%> |
|
<%
' *********************** BOLETO **********************
If Session("forma_pagamento") = "Boleto" Then
%>
<%=Application("RecTxtTiInstrPagto")%>:
<%
Call Recibo(Conexao,Session("forma_pagamento"),compra,cod_erro,msg_erro,identificacao_pedido)
End If
' *********************** AMEX **********************
If Request("TxnResponseCode") <> "" Then
MerchTxnRef = Request("MerchTxnRef")
OrderInfo = Request("OrderInfo")
' Caso a referência da transação seja nula, resgata do campo livre
If MerchTxnRef = "" Or MerchTxnRef = "No Value Returned" Then
MerchTxnRef = OrderInfo
End If
'Ativa a sessão para o código do pedido
Session("codigo_pedido") = MerchTxnRef
Call Recibo(Conexao,"Amex",compra,cod_erro,msg_erro,identificacao_pedido)
End If
' *********************** VISANET **********************
If Request("tid") <> "" Then
' Exibe as váriaveis de retorno
Response.write Application("RecTxtCodigoTrans") & ": " & session("TID") & " "
Response.write Application("RecTxtCodigoResposta") & ": " & session("LR") & " "
Response.write Application("RecTxtCodigoAutorizacao") & ": " & session("ARP") & " "
If session("ARS") <> "" Then
Response.write Application("RecTxtMsgTransacao") & ": " & session("ARS") & " "
End If
If session("AUTHENT") <> "" Then
Response.write Application("RecTxtTipoAutent") & ": " & session("AUTHENT") & " "
End If
Response.write " "
End If
' *********************** REDECARD **********************
If Request("NR_CARTAO") <> "" Then
' ************** Em caso da transação já ter sido confirmada ***************
If (status = 1) Then
Response.write Application("RecTxtMsgTransJaConfirmada")
End If
' ************************** Monta o cupom *********************************
If varLang = "en_UK" Or varLang = "en_US" Then
LANGUAGE = "E" 'Inglês
Else
LANGUAGE = "" 'Português
End If
URLCupom = "https://ecommerce.redecard.com.br/pos_virtual/cupom.asp?DATA=" & request("DATA") & "&TRANSACAO=201&NUMAUTOR=" & request("NUMAUTOR") & "&NUMCV=" & request("NUMCV")
If LANGUAGE <> "" Then
URLCupom = URLCupom & "&LANGUAGE=" & LANGUAGE
End If
%>
<%
End If
' *********************** ITAU **********************
' **** link para a conexao com o Itaú
If Request("codEmp") <> "" And Request("tipPag") <> "" Then
'Ativa a sessão para o código do pedido
Session("codigo_pedido") = Request("pedido")
'Atualiza alguns dados restantes do final da transação Itaú no banco de dados
Call GravaTransacaoFinalItau(Session("codigo_pedido"),Request("tipPag"))
' Exibe as váriaveis de retorno
Response.write Application("RecTxtFormaPagto") & ": " & ITAU_TipPag(Request("tipPag")) & "
"
End If
' *********************** BANCO DO BRASIL **********************
If Session("forma_pagamento") = "Brasil" Then
' Exibe a forma de pagamento escolhida
Response.write Application("RecTxtFormaPagto") & ": " & BB_TipPag(Request("tpPagamento")) & "
"
End If
' *********************** UNIBANCO **********************
If Session("forma_pagamento") = "Unibanco" Then
Call Recibo(Conexao,Session("forma_pagamento"),compra,cod_erro,msg_erro,identificacao_pedido)
End If
' *********************** DEPOSITO BANCARIO **********************
If Session("forma_pagamento") = "Deposito" Then
Call Recibo(Conexao,Session("forma_pagamento"),compra,cod_erro,msg_erro,identificacao_pedido)
End If
' *********************** COBREBEM ECOMMERCE **********************
If Session("forma_pagamento") = "CobreBem" Then
Call Recibo(Conexao,Session("forma_pagamento"),compra,cod_erro,msg_erro,identificacao_pedido)
End If
' *********************** BRADESCO **********************
If Request("cod") = "0" Then
Call Recibo(Conexao,"Bradesco",compra,cod_erro,msg_erro,identificacao_pedido)
End If
' *********************** ABNCDC **********************
If Request("RET01") <> "" Then
Call Recibo(Conexao,"ABNCDC",compra,cod_erro,msg_erro,identificacao_pedido)
End If
%>
|
<%
' Resgata dados do Usuário nesta transação
Call Session_Usuario_Transacao(Conexao,Session("codigo_pedido"))
%>
|
<% If Session("cep_entrega") <> "" Then %>
| <%=Application("RecTxtTitDadosCobranca")%> |
<% Else %>
<%=Application("RecTxtTitDadosCobrancaEntrega")%> |
<% End if %>
| <%Call Mostra_Endereco("cobranca")%> |
|
<% IF Session("cep_entrega") <> "" THEN %>
| <%=Application("RecTxtTitDadosEntrega")%> |
| <%Call Mostra_Endereco("entrega")%> |
|
<% END IF %>
<%
'Envia o e-mail de notificação de compra
Call Envia_Email_recibo(Conexao,Session("user_id"),Session("URLBoleto"), Replace(Session("LinhaDigitavel")," "," "))
'Finaliza arquivo de pedido caso exista
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(Application("DiretorioPedidos")&session("id_transacao")&".xml") Then
' Atualiza o status do pedido no XML do pedido
Call alteraValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","status_pedido","finalizado")
' Verifica se está ativo o DEBUG
If pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","DebugPedido") = "sim" Then
If objFSO.FolderExists(Application("DiretorioPedidos")&"debugpedidos") = False Then
Set CriaFSO = CreateObject("Scripting.FileSystemObject")
CriaFSO.CreateFolder(Application("DiretorioPedidos")&"debugpedidos")
Set CriaFSO = Nothing
End If
objFSO.CopyFile Application("DiretorioPedidos")&session("id_transacao")&".xml",Application("DiretorioPedidos")&"debugpedidos/"&session("id_transacao")&".xml"
End If
End If
Set objFSO = Nothing
' Anula todas as sessions abertas, exceto codigo_pedido e id_transacao
Call Anula_TodasSessions()
End If
%>
|
|