Ir para conteúdo

Arquivado

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

Tuk

[Resolvido] Implementação PagSeguro

Recommended Posts

Olá

 

Estou fazendo a integração de um site compras com o Pagseguro, resolvi utilizar o servidor de testes para Windows que existe no site do PagSeguro( http://code.google.com/p/pagsegurodotnet/ ), baixei e configurei como manda o tutorial.

 

Na função de integração utilizo um código similar a este, utilizando a biblioteca do PagSeguro para Php( http://www.mxmasters.com.br/area/blogs/tutorial-integracao-com-pagseguro/ ).

 

Ao tentar mandar a compra para o servidor de testes temos o seguinte erro:

Fatal error: Uncaught exception 'PagSeguroServiceException' with message '[HTTP 401] - UNAUTHORIZED ' in C:\wamp\www\NerdColetivoCI\application\controllers\PagSeguro\service\PaymentService.class.php:72 Stack trace: #0 C:\wamp\www\NerdColetivoCI\application\controllers\PagSeguro\domain\PaymentRequest.class.php(420): PaymentService::createCheckoutRequest(Object(AccountCredentials), Object(PaymentRequest)) #1 C:\wamp\www\NerdColetivoCI\application\controllers\oferta.php(387): PaymentRequest->register(Object(AccountCredentials)) #2 [internal function]: Oferta->integra() #3 C:\wamp\www\NerdColetivoCI\system\core\CodeIgniter.php(297): call_user_func_array(Array, Array) #4 C:\wamp\www\NerdColetivoCI\index.php(163): require_once('C:\wamp\www\Ner...') #5 {main} thrown in C:\wamp\www\NerdColetivoCI\application\controllers\PagSeguro\service\PaymentService.class.php on line 72

 

 

Utilizo o Framework Codeigniter no projeto.

Wamp Server como localhost.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Minha função dentro do controle está assim

 


function integra()
{

	if($this->session->userdata('logged_in'))// Caso esteja logado
    {
		include "PagSeguro/PagSeguroLibrary.php";

		$session_data = $this->session->userdata('logged_in'); // Busca a session do login
		$session_compra = $this->session->userdata('compra'); // Busca a session do carrinho

		$pagseguro = new PaymentRequest();
		$pagseguro->setCurrency('BRL');
		$pagseguro->setShippingType(2); // Tipo de envio 2. SEDEX

		$data['username'] = $session_data['username'];
           $usuario = $this->usuario_model->get_usuario_id($data['username']);
		$oferta = $this->oferta_model->lastOferta();
		$data = date("d/m/Y");

		$dadosPedido = array(

		       'oferta_ofe_codi' => $oferta->ofe_codi,
			   'usuario_usu_codi' => $usuario->usu_logi,
			   'ped_data'  => $data,
			   'ped_quan' => $session_compra['qtd'],
			   'ped_moed' => 'BRL',
			   'ped_desc' => $oferta->ofe_desc,
			   'ped_stat' => 0

		);

		$pedido = $this->pedido_model->Cadastrar($dadosPedido); // Cadastra o pedido no Banco de Dados

		$pagseguro->setReference($pedido['ped_codi']);

		$pedido2 = $this->pedido_model->get_pedido_user($session_data['username']);
		$referencia_pedido = $pedido2->ped_codi;

                       $pagseguro->setReference($referencia_pedido);// Seta a referencia para o PagSeguro

		$usuario = $this->usuario_model->get_usuario_id($session_data['username']);

		$telefone = explode(' ',$usuario->usu_telr);

		$pagseguro->setSender($usuario->usu_nome, $usuario->usu_emai,47, 34367607);// Dados do Sender para o Pagseguro

	        $pagseguro->setShippingAddress(8920840,$usuario->usu_ende,$usuario->usu_nume,$usuario->usu_comp,$usuario->usu_bair,$usuario->usu_cida,$usuario->usu_esta,'BRA');//Local de entrega

		$pagseguro->addItem($oferta->ofe_codi, $oferta->ofe_nome, $session_compra['qtd'], $oferta->ofe_prec*$session_compra['qtd'], $oferta->ofe_peso);// Item da compra

		$credenciais = new AccountCredentials('email@gmail.com', 'VALOR DO TOKEN');//Credenciais



		$url = $pagseguro->register($credenciais);

           header("Location: $url");




	}else{
		redirect("inicial");
	}



}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi o erro, acontecia que alguns parametros não estavam no formato correto.

 

No momento está ocorrendo que a venda não está chegando no servidor do pagseguro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me irritei...

 

Vou criar uma versão de testes para isso...

 

Estou pensando em construir uma area no meu site para fazer os testes, ao invez de um programa que roda local, Assim não precisa ficar instalando nada, e pode acessar de qualquer lugar... O que acham?

 

O que acham legal que o ambiente de testes tenha para facilitar...

 

Ideias...

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.