Ir para conteúdo

POWERED BY:

Arquivado

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

lucastintin

[Resolvido] Banco de Dados próprio

Recommended Posts

Olá a todos.

 

Estou com uma dúvida que está empacando meu desenvolvimento.

 

Gostaria de salvar os dados de uma compra em um banco de dados próprio.

mas não sei deveria ser feito ao receber o retorno automático com a confirmação do pagamento, ou até mesmo em outro momento.

 

No retorno automático o PagSeguro envia todas as informações do cliente (cli_email, item_descr_x) ?

Pq eu desejo guardar as informações, pois o mesmo fará download de produtos digitais.

 

 

Pensei em inserir na parte POST validado pelo PagSeguro.

Mas como posso ficar testando (MAC OSX)? Já que um link do tutorial de ambiente de desenvolvimento está quebrado.

 

<?php

header('Content-Type: text/html; charset=ISO-8859-1');

define('TOKEN', 'cole aqui o token do vendedor');

class PagSeguroNpi {

private $timeout = 20; // Timeout em segundos

public function notificationPost() {
	$postdata = 'Comando=validar&Token='.TOKEN;
	foreach ($_POST as $key => $value) {
		$valued    = $this->clearStr($value);
		$postdata .= "&$key=$valued";
	}
	return $this->verify($postdata);
}

private function clearStr($str) {
	if (!get_magic_quotes_gpc()) {
		$str = addslashes($str);
	}
	return $str;
}

private function verify($data) {
	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, "https://pagseguro.uol.com.br/pagseguro-ws/checkout/NPI.jhtml");
	curl_setopt($curl, CURLOPT_POST, true);
	curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($curl, CURLOPT_HEADER, false);
	curl_setopt($curl, CURLOPT_TIMEOUT, $this->timeout);
	curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
	$result = trim(curl_exec($curl));
	curl_close($curl);
	return $result;
}

}

if (count($_POST) > 0) {

// POST recebido, indica que é a requisição do NPI.
$npi = new PagSeguroNpi();
$result = $npi->notificationPost();

$transacaoID = isset($_POST['TransacaoID']) ? $_POST['TransacaoID'] : '';

if ($result == "VERIFICADO") {
	//O post foi validado pelo PagSeguro.
} else if ($result == "FALSO") {
	//O post não foi validado pelo PagSeguro.
             --->>PENSEI INSERIR MEUS CODIGOS AQUI <<---

} else {
	//Erro na integração com o PagSeguro.
}

} else {
// POST não recebido, indica que a requisição é o retorno do Checkout PagSeguro.
// No término do checkout o usuário é redirecionado para este bloco.
?>
   <h3>Obrigado por efetuar a compra.</h3>
   <?php
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

No retorno automático o PagSeguro envia todas as informações do cliente (cli_email, item_descr_x) ?

Pq eu desejo guardar as informações, pois o mesmo fará download de produtos digitais.

 

Exatamente, as informações à respeito do status da transação, do produto e os dados do comprador serão mostrados no Retorno Automático.

 

Mas como posso ficar testando (MAC OSX)? Já que um link do tutorial de ambiente de desenvolvimento está quebrado.

 

 

Nesse link você pode conferir como utilizar um Ambiente de Testes no Mac OS.

 

http://www.screencaster.com.br/utilizando-o-servidor-de-testes-do-pagseguro-no-mac/

 

E para seguir o tutorial acima, baixe esse código:

 

http://pagseguro.visie.com.br/ambiente-para-testes-locais/

 

 

Seguindo esse tutorial, eu consegui configurar belezinha no meu macbook dias atras. :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

E para seguir o tutorial acima, baixe esse código:

 

http://pagseguro.visie.com.br/ambiente-para-testes-locais/

 

 

Seguindo esse tutorial, eu consegui configurar belezinha no meu macbook dias atras. :P

 

Valleeeuuu, era isso aqui que eu precisava, o link estava dando como corrompido.

Agora vou testar espero que tudo ocorra bem!

 

Atenciosamente,

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.