/** * verifica * * Verifica o tipo de conexão aberta e envia os dados vindos * do post * * @param array $post Array contendo os posts do pagseguro * @param bool $tipoEnvio (opcional) Verifica o tipo de envio do post * * @access static * @use RetornoPagSeguro::_tipoenvio() * @use RetornoPagSeguro::_confirma() * @return bool */ static function verifica($post, $tipoEnvio = false, $function = null) { if ('array' !== gettype($tipoEnvio)) { $tipoEnvio = RetornoPagSeguro::_tipoEnvio(); } if (!in_array($tipoEnvio[0], array('curl', 'fsocket'))) { return false; } $confirma = RetornoPagSeguro::_confirma($tipoEnvio, $post); if ($confirma) { $itens = array('VendedorEmail', 'TransacaoID', 'Referencia', 'TipoFrete', 'ValorFrete', 'Anotacao', 'DataTransacao', 'TipoPagamento', 'StatusTransacao', 'CliNome', 'CliEmail', 'CliEndereco', 'CliNumero', 'CliComplemento', 'CliBairro', 'CliCidade', 'CliEstado', 'CliCEP', 'CliTelefone', 'NumItens'); foreach ($itens as $item) { if (!isset($post[$item])) { $post[$item] = ''; } if ($item == 'ValorFrete') { $post[$item] = str_replace(',', '.', $post[$item]); } } $produtos = array(); $total = 0; for ($i = 1; isset($post["ProdID_{$i}"]); $i++) { $produto = self::makeProd($post, $i); $produtos[] = $produto; unset($produto['ProdID'], $produto['ProdDescricao']); // Hack apenas para o Módulo Magento $total += $produto['ProdValor'] * $produto['ProdQuantidade']; } $total += self::convertNumber($post['ValorFrete']); if (function_exists('retorno_automatico') and !$function) { $function = 'retorno_automatico'; } if ($function) { call_user_func($function, $post['Referencia'], $post['StatusTransacao'], $total, $produtos, (object) $post); } } return $confirma; }
/** * verifica * * Verifica o tipo de conexão aberta e envia os dados vindos * do post * * @param array $post Array contendo os posts do pagseguro * @param bool $tipoEnvio (opcional) Verifica o tipo de envio do post * * @access public * @use RetornoPagSeguro::_tipoenvio() * @use RetornoPagSeguro::_confirma() * @return bool */ function verifica($post, $tipoEnvio = false) { if ('array' !== gettype($tipoEnvio)) { $tipoEnvio = RetornoPagSeguro::_tipoEnvio(); } if (!in_array($tipoEnvio[0], array('curl', 'fsocket'))) { return false; } $confirma = RetornoPagSeguro::_confirma($tipoEnvio, $post); if ($confirma && function_exists('retorno_automatico')) { $itens = array('VendedorEmail', 'TransacaoID', 'Referencia', 'TipoFrete', 'ValorFrete', 'Anotacao', 'DataTransacao', 'TipoPagamento', 'StatusTransacao', 'CliNome', 'CliEmail', 'CliEndereco', 'CliNumero', 'CliComplemento', 'CliBairro', 'CliCidade', 'CliEstado', 'CliCEP', 'CliTelefone', 'NumItens'); foreach ($itens as $item) { if (!isset($post[$item])) { $post[$item] = ''; } if ($item == 'ValorFrete') { $post[$item] = str_replace(',', '.', $post[$item]); } } $produtos = array(); for ($i = 1; isset($post["ProdID_{$i}"]); $i++) { $produtos[] = self::makeProd($post, $i); } retorno_automatico($post['Referencia'], $post['StatusTransacao'], (object) $post); } return $confirma; }