Erro de programação, macumba?
13/11/2014
0
Eae povo, to com um problema chato, parece macumba.
É o seguinte, estou trabalhando com a API de pagamento do PagSeguro, meu código está:
Formulário de inscrição -> POST para a mesma página, que um arquivo includado detecta o post, faz a inserção no Banco de Dados. Até ai tudo bem...
Agora vem a treta.. antes dele dar um Header na página eu boto o código para abrir uma requisição ao PagSeguro ->
Quando eu boto o código acima no meu código para criar uma requisição ao pagseguro, e ao meu sistema (criarRequisicaoPagamento) (esta função só bota no banco) ele duplica o que boto na pagina de inscrever, eu boto la, nome, email, e cai duas vezes no banco, com alguns segundos de diferença, e detalhe, demora um pouco pra inserir... :/
Só acontece quando incluo este código. Não intendo muito dessa api de PagSeguro, será que tem alguma coisa ai repetindo meu post, fazendo com que a pagina se atualize?
Um detalhe bem importante, nem botei no Forum de desenvolvedores do PagSeguro, pois eles tem restrição de não sei quantos caracteres e tive que tirar 2000, ou seja, sem o código, ai não ia resolver de nada.
É o seguinte, estou trabalhando com a API de pagamento do PagSeguro, meu código está:
Formulário de inscrição -> POST para a mesma página, que um arquivo includado detecta o post, faz a inserção no Banco de Dados. Até ai tudo bem...
Agora vem a treta.. antes dele dar um Header na página eu boto o código para abrir uma requisição ao PagSeguro ->
require "PagSeguroLibrary/PagSeguroLibrary.php"; class CreatePaymentRequestLightbox { public static function main() { $paymentRequest = new PagSeguroPaymentRequest(); $paymentRequest->setRedirectUrl("http://localhost/inscreva-se"); $paymentRequest->addParameter('notificationURL', 'Url Retorno'); $sedexCode = PagSeguroShippingType::getCodeByType('NOT_SPECIFIED'); $paymentRequest->setShippingType($sedexCode); $paymentRequest->setShippingAddress( $_POST['i_cep'] ); $tel = substr(telParaTxt($_POST['i_phone']), 2); $ddd = substr(telParaTxt($_POST['i_phone']), 0, 2); if($ddd == '__') { $tel = ''; $ddd = ''; } // Set your customer information. $paymentRequest->setSender( $_POST['i_fullname'], $_POST['i_email'], $ddd, $tel ); mysql_select_db($GLOBALS['database_connection'], $GLOBALS['connection']); $sql = "SHOW TABLE STATUS LIKE 'site_requisicoes'"; $resultado = mysql_query($sql); $linha = mysql_fetch_array($resultado); $next = $linha['Auto_increment']; $paymentRequest->setReference($next); $paymentRequest->setCurrency("BRL"); $paymentRequest->addItem('0001', 'Produto', 1, $GLOBALS['valor']); try { $credentials = new PagSeguroAccountCredentials("Epa, meu e-mail", "Meu token safadinho"); // Register this payment request in PagSeguro to obtain the checkout code $onlyCheckoutCode = true; $code = $paymentRequest->register($credentials, $onlyCheckoutCode); self::printPaymentUrl($code); } catch (PagSeguroServiceException $e) { die($e->getMessage()); } } public static function printPaymentUrl($code) { if ($code) { $_SESSION['code'] = $code; criarRequisicaoPagamento($GLOBALS['ultimo'], $code, $GLOBALS['valor']); } } } CreatePaymentRequestLightbox::main();
Quando eu boto o código acima no meu código para criar uma requisição ao pagseguro, e ao meu sistema (criarRequisicaoPagamento) (esta função só bota no banco) ele duplica o que boto na pagina de inscrever, eu boto la, nome, email, e cai duas vezes no banco, com alguns segundos de diferença, e detalhe, demora um pouco pra inserir... :/
Só acontece quando incluo este código. Não intendo muito dessa api de PagSeguro, será que tem alguma coisa ai repetindo meu post, fazendo com que a pagina se atualize?
Um detalhe bem importante, nem botei no Forum de desenvolvedores do PagSeguro, pois eles tem restrição de não sei quantos caracteres e tive que tirar 2000, ou seja, sem o código, ai não ia resolver de nada.
Alecsander Hoppe
Curtir tópico
+ 0
Responder
Posts
13/11/2014
Alecsander Hoppe
Uma pergunta, é facil fazer essas integrações?
É bem fácil cara, não tem mistério, a própria DevMedia tem tutoriais, e a documentação do PagSeguro é muito completa.
Responder
Clique aqui para fazer login e interagir na Comunidade :)