'localhost', 'user' => 'usuário', 'pswd' => 'senha', 'dbname' => 'code_sample' ); //As notificações sempre serão via HTTP POST, então verificamos o método //utilizado na requisição, antes de fazer qualquer coisa. if ($_SERVER['REQUEST_METHOD'] == 'POST') { //Antes de trabalhar com a notificação, precisamos verificar se ela //é válida e, se não for, descartar. if (!isIPNValid($_POST)) { return; } //Se chegamos até aqui, significa que estamos lidando com uma //notificação IPN válida. Agora precisamos verificar se somos o //destinatário dessa notificação, verificando o campo receiver_email. if ($_POST['receiver_email'] == $receiver_email) { //Está tudo correto, somos o destinatário da notificação, vamos //gravar um log dessa notificação. $pdoattrs = array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'); $pdo = new PDO(sprintf('mysql:host=%s;dbname=%s', $mysql['host'], $mysql['dbname']), $mysql['user'], $mysql['pswd'], $pdoattrs); if (logIPN($pdo, $_POST)) { //Log gravado, podemos seguir com as regras de negócio para //essa notificação. //gravamos dados do cliente storeCustomer($pdo, $_POST); //gravamos dados da transação storeTransaction($pdo, $_POST); } } }