Jump to content

Archived

This topic is now archived and is closed to further replies.

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.

Share this post


Link to post
Share on other 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");
	}



}

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.