Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

avzuben

Cartão de Crédito Visa

Recommended Posts

Bom dia,

 

Estou encontrando problemas na instalação da Loja Modelo que a Visa me forneceu.

 

Quando o script aciona o executável, a seguinte mensagem de erro aparece:

 

The page cannot be displayed

The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access.

--------------------------------------------------------------------------------

 

Please try the following:

 

Contact the Web site administrator if you believe that this request should be allowed.

Make sure that the Web site address displayed in the address bar of your browser is spelled and formatted correctly.

HTTP Error 405 - The HTTP verb used to access this page is not allowed.

Internet Information Services (IIS)

 

--------------------------------------------------------------------------------

 

Technical Information (for support personnel)

 

Go to Microsoft Product Support Services and perform a title search for the words HTTP and 405.

Open IIS Help, which is accessible in IIS Manager (inetmgr), and search for topics titled Setting Application Mappings, Securing Your Site with Web Site Permissions, and About Custom Error Messages.

 

Procurei me informar e descobri que esse erro ocorre pq estou tentando passar dados por POST e a página requisitada é considerada estática, a sugestão seria alterar para GET.

 

Não vi muito nexo, pois o script foi desenvolvido pela Visanet, mas mesmo assim resolvi tentar.

 

Quando alterei, o resultado foi o seguinte: ?MZ

 

Aí segue o código fornecido pela Visa, apenas ocultei o domínio:

 

<!--#include file="FuncaoGerarTid.inc"-->	
<%
	session("pagamento") = Request.Form("pagamento")
	session("AUTHENTTYPE") = request.form("AUTHENTTYPE")
	session("ambiente") = Request.Form("ambiente")

	Tid = GerarTid("1001734898",session("pagamento"))


	 varProd = Session("varProd")		'Descrição do Pedido
	 varQtd = Session("varQtd")			 'Quantidade
	 varId = Session("varId")			 'ID do Produto
	 varPreco = Session("varPreco")	  'Preco Unitário
	 'varValor = Session("varValor")	  'Valor Total
	 'varPacote = Session("varPacote")	'Numero do Pacote
	' varTotalFrete = Session("varTotal") 'Total com Frete
	 'varFrete = Session("varFrete")	  'Valor do Frete


	'TIPO DA TRANSAÇÃO
	Session("tipo")		= "VBV"


	' COLETAR DADOS DAS SESSIONS
	VarConsumidor		= Session("Nome_Comprador")
	VarEmail			= Session("Email_comprador")
	VarTel				= Session("Tel_comprador")

	VarNome				= Session("Nome")
	VarEndereco			= Session("Endereco")
	VarBairro			= Session("Bairro")
	VarCidade			= Session("Cidade")
	VarUF				= Session("Estado")
	VarCep				= Session("Cep")
	VarMsg				= Session("Msg")
	varDtEntrega		= Session("DtEntrega")

	item				= Session("varId")
	qty					= 1
	produto				= Session("varProd")
	puni				= Session("varPreco")
	subtotal			= Session("varPreco")
	frete				= Session("varFrete")

	total				= subtotal+cint(frete)


	pedido				= "<b>Dados do consumidor:</b>" & "<BR>"
pedido				= pedido & "<b>Nome:</b> " & VarConsumidor & " - " & VarEmail & " - " & VarTel & "<BR>"
pedido				= pedido & "   " & " <BR>"
pedido				= pedido & "<b>Dados de entrega:</b>" & "<BR>"
pedido				= pedido & "<b>Nome:</b> " & VarNome & " - " & VarEndereco & " - " & VarBairro & " - " & VarCidade & " - " & VarUF & " - " & VarCep & "<BR><BR>"
pedido				= pedido & "<b>Quant:</b> " & qty &  " - " & item &" - " & produto &  " - " & moeda(puni) & " - " & moeda(subtotal) & "<BR><BR>"

Session("order") = pedido
	
   

	FUNCTION Moeda(valor)
	  if trim(valor) <> "" then
		Valor1=  mid(valor, 1, len(valor) - 2)
		Decima = mid(valor, len(valor) - 1, 2)
	  end if
		Moeda = Valor1 & "," & Decima
END FUNCTION
%>

<html>
<head>
<title>Loja de exemplo VbV 1.1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel=stylesheet href="estilos.css" type="text/css">
</head>

	<body bgcolor="#ffffff" text="#000000">

	   <table>
			<tr>
			<td width="549" valign="top" height="435" > </td>
			</tr>
		</table>


	<!-- ********************** CHECKOUT Verified by VISA via Direct POST   ********************** -->
			<%  
			Dim objSvrHTTP,PostData
			Set objSvrHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0")
			PostData="tid=" & tid
			PostData=PostData & "&merchid=" & "lojinha"
			PostData=PostData & "&order=" & session("order")
			PostData=PostData & "&orderid=" & "1234567890"
			'PostData=PostData & "&free=" & session("free")
			PostData=PostData & "&free=" & "simulador"
			PostData=PostData & "&price=" & session("varPreco")
			PostData=PostData & "&authenttype=" & session("authenttype")
			PostData=PostData & "&damount=" & Moeda(Session("varPreco"))
						
			objSvrHTTP.SetTimeouts 15000, 250000, 250000, 250000
			objSvrHTTP.open "POST", "http://dominio/componentes_vbv/mpg.exe?", false
			objSvrHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
			objSvrHTTP.send trim(PostData)
			sStatus = objSvrHTTP.status
			response.clear
			response.Write objSvrHTTP.responseText
			%> 
	<!-- ********************** CHECKOUT Verified by VISA via Direct POST   ********************** -->
		</body>
	</html>

 

Sou programador PHP, não domino ASP.

 

Será que alguém que alguém que já tenha mexeu com cartões, ou que saiba o que pode estar acontecendo pode me ajudar?

 

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kara, esta fazendo isto na sua maquina ou no servidor web do cliente?

 

Ele te retornou estes 3 caracteres ? ?MZ

 

No aguardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

No servidor web.

 

Na verdade retornou esses 3 caracteres quando troquei o POST por GET, porém foi só um teste que fiz.

 

Quando envio por POST, ele retorna aquela msg de erro.

 

Entrei em contato com o suporte e eles me disseram que o erro está nas permissões dos componentes, realmente deve ser isso, porém não consigo alterá-las por ftp, nem através do Helm.

 

Alguém sabe como fazer isso?

 

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo seu código, você deve manter POST mesmo.

 

Agora sobre o erro, execute no FF e veja se retorna outra mensagem.

 

Você está trabalhando com http ou https?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sua pagian esta em um host ?, se tiver entre em contato com eles , que os mesmos habilitam as permissões, e se estiver rodando no localhost, veja as permissões de no IIS e nos arquivos e pasta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No servidor web.

 

Na verdade retornou esses 3 caracteres quando troquei o POST por GET, porém foi só um teste que fiz.

 

Quando envio por POST, ele retorna aquela msg de erro.

 

Entrei em contato com o suporte e eles me disseram que o erro está nas permissões dos componentes, realmente deve ser isso, porém não consigo alterá-las por ftp, nem através do Helm.

 

Alguém sabe como fazer isso?

 

 

Obrigado.

Cara, se eles disseram que o problema é permissão, você terá que alterar diretamente nesses arquivos e no iss do cliente mesmo.

 

Isso se for um servidor próprio, se estiver em um host, faça como o xamburzum disse, entre em contato com eles...

Compartilhar este post


Link para o post
Compartilhar em outros sites

os componentes precisam estar num diretorio virtual separado somente com permissão de executar,

execute estes comandos no prompt

 

iisext /AddFile C:\componentes_vbv\mpg.exe 1 teste 0 Teste

iisext /EnFile C:\componentes_vbv\mpg.exe

 

isso para o componente poder ser acessado via post!

 

espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

sempre no host na area de duvidas/tutorias sempre existem algum tópico falando sobre as permissoes, verifique

entre em contato com eles...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá estou desenvolvendo um site com integração cielo e meu problema é parecido com este postado. Vcs podem me explicar o este codigo faz?

 

objSvrHTTP.SetTimeouts 15000, 250000, 250000, 250000

objSvrHTTP.open "POST", "http://dominio/componentes_vbv/mpg.exe?", false

objSvrHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

objSvrHTTP.send trim(PostData)

sStatus = objSvrHTTP.status

response.clear

response.Write objSvrHTTP.responseText

 

estou desenvolvendo em PHP e gostaria de saber tb se vcs podem me dizer o que devo usar para conseguir fazer essa conexão via XML.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.