Ir para conteúdo

Arquivado

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

Guilherme Rambo

Utilizando o ambiente de testes do pagseguro

Recommended Posts

Postei a um tempo no screencaster um artigo sobre como usar o server de testes do pagseguro -> http://www.screencaster.com.br/utilizando-...gseguro-no-mac/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa colaboração

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah, agora vi que tem, mas é só com .NET?

 

Desculpem minha ignorância, é que estou pretendendo começar a implementar algo de ecommerce com pagseguro e gostaria de saber se tem como eu FAZER TUDO usando apenas WINDOWS, APACHE e PHP? Como vou fazer testes no meu código PHP de acesso ao pagseguro?

 

Se alguém puder dar uma luz eu agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Installe o Python no seu Windows e o servidor de testes deverá funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não obtive sucesso ao RODAR pelo windows, somente pelo Ubuntu, no windows vem a ocorrer dois problemas, primeiro geralmente usuarios windows rodam a aplicação pela "porta" CGI o que não parece suportar o ambiente de teste, no segundo metodo(o que deve ser o mais correto) ele roda mas ocorre falta de uma biblioteca que parece estar ausente no pythom para windows(ausente ou mudou de nome e/ou formato).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Pessoal,

 

Estou tentando criar uma loja virtual utilizando joomla com virtuemart e pagseguro

Como ainda estou muito no começo, eu gostaria de usar um servidor de teste do pagseguro,

por enquanto só encontrei para dotnet

Criei o ambiente em dotnet da LojaExemplo e o Servidor e acompanhando um video de utilização o ambiente funcionou bem.

Video que utilizei: http://code.google.com/p/pagsegurodotnet/wiki/VideoTutorial

Agora eu gostaria de saber se não tem um servidor de teste para ambientes php para o virtuemart? ALguem saberia me dizer?

Se não tem, fiz um teste para tentar utilizar o servidor de teste de dotnet, fiz a seguinte alteração:

Alterei no arquivo pgs.php o link do pagseguro para o servidor de teste:

 

if ($args['open_form'])

$_form[] = '<form target="pagseguro" action="http://localhost:9090/security/webpagamentos/webpagto.aspx" method="post">';

 

O Servidor de teste recebeu a venda ok, mas em seguida abortou, esse erro acontecia quando o servidor não estava bem configurado

 

Alguém já tentou fazer isso? Parece ser um caminho que da certo.

 

Abraços

Rodrigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi pessoal,

 

Estava desenvolvendo uma loja própria em PHP e queria somente algo que me mandasse o POST correto do PagSeguro, para testar a página de retorno automático sem pretensões "real-life", só vendo os valores.

 

Então, fiz o seguinte procedimento, que achei mais rápido e prático: alterei temporariamente no código do retorno padrão do PagSeguro, onde está o URL do retorno (https://pagseguro.uol.com.br/pagseguro-ws/checkout/NPI.jhtml) pela URL de uma página de meu servidor local, que fiz com um código basicamente para gerar um POST com os valores automáticos e a string "VERIFICADO" quando há um POST. Fiz um monte de campo em texto e um select, isso obviamente pode ser mudado a gosto.

 

Não é o teste em PHP análogo ao que existe em Python, mas quebrou meu galho. Tá aqui o código se alguém quiser também:

 

<?
if (count($_POST) > 0) {
    die("VERIFICADO");
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate" />
<title>Teste PGS</title>
</head>
<body>

<?
$campos = array(
        'TransacaoID'=>     'transid',
        'TipoFrete'=>       'EN',
        'ValorFrete'=>      '0,00',
        'Anotacao'=>        'Pagamento gerado pelo ambiente de testes',
        'DataTransacao'=>   date('d/m/Y H:i:s'),
        'ValorFrete'=>      '0,00',
        'VendedorEmail'=>   'email_cobranca@x.com.br',
        'Referencia'=>      '1',
        'CliNome'=>         'Nome da Silva',
        'CliEmail'=>        'email@email.com.br',
        'CliEndereco'=>     'Rua dos Bobos',
        'CliNumero'=>       '0',
        'CliComplemento'=>  'ap 00',
        'CliBairro'=>       'Paytown',
        'CliCidade'=>       'Payland',
        'CliEstado'=>       'AC',
        'CliCEP'=>          '01234567',
        'CliTelefone'=>     '99 55555555',
        'NumItens'=>        1,
        'TipoPagamento'=>   'Cartão de Crédito',
        
        'ProdId_1'=>          'item_id',
        'ProdDescricao_1'=>   'item_descr',
        'ProdQuantidade_1'=>  'item_quant',
        'ProdFrete_1'=>       '0,00',
        'ProdExtras_1'=>      '0,00',
        'ProdValor_1'=>       'item_valor',
);
?>
  
<form action="" method="post">
  
  <? foreach ($campos as $k=>$v){ print "<div style='margin-bottom:2px; font-family:Courier; font-size:11px;'>$k: <input type='text' name='$k' value='$v' /></div>"; } ?>
  <select name='StatusTransacao'>
    <option value='Completo'>Completo</option>
    <option value='Aguardando Pagto'>Aguardando</option>
    <option value='Aprovado'>Aprovado</option>
    <option value='Em Análise'>Em Análise</option>
    <option value='Cancelado'>Cancelado</option>
  </select>
  <input type='submit' />
</form>
  
</body>
</html>

Bom dizer que no form-action tem que pôr o nome da página de retorno automático.

 

Abs

Marcos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou criando um e-commerce personalizado para um cliente com java.

Eu poderia testar minha aplicação aqui mesmo em minha máquina.

mas ja queria fazer alguns testes reais?

existe um ambiente de teste para que eu pudesse enviar os dados da compra?

gostaria até de testar o retorno automático.

 

Att.,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como rodar o ambiente de teste no windows? Alguem pode explicar melhor?

 

Quero rodar local aqui e testar, antes de ir pro ar. Uso WAMPSERVER.

 

Att

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, estou criando para um cliente uma loja wordpress com wp-ecommerce e gostaria de fazer os testes de funcionamento da ferramenta, antes de entrar de cabeça no projeto, mas eu não consigo instalar. Explicando em detalhes:

 

Instalei o Ubuntu 10.10 em uma VM, pois desenvolvo em Windows.

Instalei os pacotes indicados nas instruções

Gerei a chave "server.pem"

Quando fui executar o arquivo obtive essa saída de erro:

/home/pedrosancao/Downloads/PagSeguroTestsServer/pagseguroMockup/pagseguro.py:2: DeprecationWarning: the md5 module is deprecated; use hashlib instead
 import random,md5
Traceback (most recent call last):
 File "PagSeguroServer.py", line 9, in <module>
   run(PagSeguroHandler,SecureHTTPServer)
 File "/home/pedrosancao/Downloads/PagSeguroTestsServer/HTTPSServer.py", line 59, in run
   httpd = ServerClass(server_address, HandlerClass, fpem)
 File "/home/pedrosancao/Downloads/PagSeguroTestsServer/HTTPSServer.py", line 14, in __init__
   ctx.use_privatekey_file (fpem)
OpenSSL.SSL.Error: [('PEM routines', 'PEM_read_bio', 'no start line'), ('SSL routines', 'SSL_CTX_use_PrivateKey_file', 'PEM lib')]

 

Depois de fuçar um pouco no código consegui eliminar um erro:

Traceback (most recent call last):
 File "PagSeguroServer.py", line 9, in <module>
   run(PagSeguroHandler,SecureHTTPServer)
 File "/home/pedrosancao/Downloads/PagSeguroTestsServerEdited/HTTPSServer.py", line 59, in run
   httpd = ServerClass(server_address, HandlerClass, fpem)
 File "/home/pedrosancao/Downloads/PagSeguroTestsServerEdited/HTTPSServer.py", line 14, in __init__
   ctx.use_privatekey_file(fpem)
OpenSSL.SSL.Error: [('PEM routines', 'PEM_read_bio', 'no start line'), ('SSL routines', 'SSL_CTX_use_PrivateKey_file', 'PEM lib')]

 

Podem me ajudar?

 

PS: tentei o link do screencaster mas a base de dados deles está off.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal!

Estou tentando integrar o pagseguro no Django, mas não estou recebendo o POST do servidor de teste do pagseguro.

 

Estou enviando através de um form simples na html:

<form target="pagseguro" action="https://pagseguro.uol.com.br/security/webpagamentos/webpagto.aspx" method="post">
<p> Seus dados :</p>
Nome: <input type="text" name="senderName"/>
Telefone: <input type="text" id="id_telefone" name="senderPhone"/>
E-mail: <input type="text" name="senderEmail"/>
<p> Escolha o plano :</p>
<select name="itemId1" />
<option value="">-- Selecione o plano --</option>
{% for p in planos %}
<option value="{{p.cod_plano}}">{{p.nome}}</option>
{% endfor %}
</select>
<input type="hidden" name="receiverEmail" value="suporte@lojamodelo.com.br" />
<input type="hidden" name="tipo" value="CBR" />
<input type="hidden" name="currency" value="BRL" />
<input type="submit" value="Register" />
</form> 

 

Minha função de retorno na views.py é esta:

def retorno_pagseguro(request):    
   if request.method == 'POST':
       # token gerado no painel de controle do PagSeguro
       token = '12345699CA2AAAF4599EA697BB2F7FFF'
       p = PagSeguro()
       retorno = p.processar(token, request.POST)
       if retorno == True:
           try:
               # Dados Pessoais
               nome = request.POST.get('CliNome')
               print nome
               telefone = request.POST.get('CliTelefone')
               print telefone
           except:
               pass
           return HttpResponse('OK', nome)
       else:
           return HttpResponse('Error')

 

Instalei o django-pagseguro e segui as dicas do blog do Gustavo Henrique:

https://github.com/fabiocerqueira/django-pagseguro/

http://blog.gustavohenrique.net/2009/07/integrando-pagseguro-com-django/

 

No print de nome e telefone nada é mostrado no console, alguém sabe o que pode ser?

Abraço!

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.