Array
(
)

Erro de programação, macumba?

PHP
Alecsander Hoppe
   - 13 nov 2014

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 ->
#Código 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
   - 13 nov 2014

Resolvi, não era o código, mais ele influenciava em alguma coisa pois só duplicava com ele, era um javascript, por causa do Cep, ele clicava 2 vezes :/

Marcio Araujo
   - 13 nov 2014

Tenta mandar email.

Marcio Araujo
   - 13 nov 2014

Uma pergunta, é facil fazer essas integrações?

Alecsander Hoppe
   - 13 nov 2014


Citação:
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.