Home Blog Portfólio Projetos Downloads Sobre
Últimas Atualizações


Pelo Mundo
Android Police
Gizmodo
Buscar no blog por: Assinar feed

Retorno automático do paypal

quarta-feira, 04 de abril de 2012 Tags: Paypal, Retorno automatico, NIP, NPI

E sempre um pouco complicado fazer integração backend com servidores de compra. O PayPal não disponibiliza, a menos não encontrei uma API para fazer o processo de validação de forma correta. Então só nos basta criar. E ai vai uma pequena classe que valida os dados retornados pelo PayPal.


<?php
  
/**
   * Validação dos dados paypal
   *
   * @author: Flavio Silva
   * @site: www.flaviosilva.net
   * @version: 1.0
   * @04/04/2012 - 10:07
   */
   

   
class PayPalNIP{
    private 
$timeout 20// Timeout em segundos

    
public function notificationPost() {
        
$postdata 'cmd=_notify-validate';
        foreach (
$_POST as $key => $value) {
            
$valued    $this->clearStr($value);
            
$postdata .= "&$key=$valued";
        }
        return 
$this->validar($postdata);
    }

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

    private function 
validar($data){
        
$curl curl_init();
        
curl_setopt($curlCURLOPT_URL"https://www.paypal.com/cgi-bin/webscr");
        
curl_setopt($curlCURLOPT_POSTtrue);
        
curl_setopt($curlCURLOPT_POSTFIELDS$data);
        
curl_setopt($curlCURLOPT_RETURNTRANSFERtrue);
        
curl_setopt($curlCURLOPT_HEADERfalse);
        
curl_setopt($curlCURLOPT_TIMEOUT$this->timeout);
        
curl_setopt($curlCURLOPT_SSL_VERIFYPEERfalse);
        
$result trim(curl_exec($curl));
        
curl_close($curl);
        return 
$result;    
    }
   }
   
   if(
count($_POST) > 0){
    
$ppNIP = new PayPalNIP();
    
$valido $ppNIP->notificationPost();

    if(
$valido=="VERIFIED"){
// Código validado já pode fazer a atualização dos seus dados no seu DB
    
}else{
// A requisição feita, pode ser fraudulenta.
    
}
   }else{
// Nenhum POST definido.
   
}
?>


Para ativar o retorno automático acesse sua conta paypal no menu:
minha conta / perfil / mais opções / minhas ferramentas de venda / Notificações de pagamento instantâneo
e digite a url em que se encontra o arquivo que fará a atualização.


Twitter facebook Orkut