Ir para conteúdo

POWERED BY:

Arquivado

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

Felipe Sobral

Como receber os dados de retorno do PagSeguro?

Recommended Posts

Gente,

 

Tenho o seguinte código (baixado no kit de integração)...

 

<?php
require_once "../PagSeguroLibrary/PagSeguroLibrary.php";

class NotificationListener  {

   public static function main() {

   	$code = (isset($_POST['notificationCode']) && trim($_POST['notificationCode']) !== ""  ? trim($_POST['notificationCode']) : null);
   	$type = (isset($_POST['notificationType']) && trim($_POST['notificationType']) !== ""  ? trim($_POST['notificationType']) : null);

   	if ( $code && $type ) {

   		$notificationType = new PagSeguroNotificationType($type);
   		$strType = $notificationType->getTypeFromValue();

		switch($strType) {

			case 'TRANSACTION':
				self::TransactionNotification($code);
				break;

			default:
				LogPagSeguro::error("Unknown notification type [".$notificationType->getValue()."]");

		}

		self::printLog($strType);

	} else {

		LogPagSeguro::error("Invalid notification parameters.");
		self::printLog();

	}

   }    

   private static function TransactionNotification($notificationCode) {

   	$credentials = new PagSeguroAccountCredentials("fromeroprado@hotmail.com", "62F6194814564DDA91A591A40451B8DC");

   	try {
   		$transaction = PagSeguroNotificationService::checkTransaction($credentials, $notificationCode);
   	} catch (PagSeguroServiceException $e) {
   		die($e->getMessage());
   	}

   }


   private static function printLog($strType = null) {
   	$count = 1;
   	echo "<h2>Receive notifications</h2>";
   	if($strType) { 
   		echo "<h4>notifcationType: $strType</h4>";
   	}
   	echo "<p>Last <strong>$count</strong> items in <strong>log file:</strong></p><hr>";
   	echo LogPagSeguro::getHtml($count);		

   }

}
NotificationListener::main();
?>

 

... e eu gostaria de saber como e onde receber os dados retornados..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, tem um fórum exclusivo sobre PagSeguro aqui, onde o próprio PagSeguro também da suporte :seta: http://forum.imasters.com.br/forum/244-gateways-e-meios-de-pagamento-online-pagseguro/

 

Essa biblioteca que você está usando já vem pronta e utiliza a API 2.0 do PagSeguro.

 

Note que quando ele recebe uma notificação ele envia o código para o método TransactionNotification, ele então consulta a transação com aquele código e recupera os dados.

 

A partir daí é só você recuperar as informações pela variável $transaction.

 

Exemplo:

 


try {
   $transaction = PagSeguroNotificationService::checkTransaction($credentials, $notificationCode);

   // pegando o código da transação
   echo 'Código: ' . $transaction->getCode() . '<br />' . PHP_EOL;

   // pegando o status da transação
   echo 'Status: ' . $transaction->getStatus()->getTypeFromValue() . '<br />' . PHP_EOL;

} catch (PagSeguroServiceException $e) {
   die($e->getMessage());
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, tem um fórum exclusivo sobre PagSeguro aqui, onde o próprio PagSeguro também da suporte :seta: http://forum.imasters.com.br/forum/244-gateways-e-meios-de-pagamento-online-pagseguro/

 

Essa biblioteca que você está usando já vem pronta e utiliza a API 2.0 do PagSeguro.

 

Note que quando ele recebe uma notificação ele envia o código para o método TransactionNotification, ele então consulta a transação com aquele código e recupera os dados.

 

A partir daí é só você recuperar as informações pela variável $transaction.

 

Exemplo:

 


try {
   $transaction = PagSeguroNotificationService::checkTransaction($credentials, $notificationCode);

   // pegando o código da transação
   echo 'Código: ' . $transaction->getCode() . '<br />' . PHP_EOL;

   // pegando o status da transação
   echo 'Status: ' . $transaction->getStatus()->getTypeFromValue() . '<br />' . PHP_EOL;

} catch (PagSeguroServiceException $e) {
   die($e->getMessage());
}

 

 

Entendido Leozitho!

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.