Fórum Erro de programação, macumba? #501099
13/11/2014
0
É 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
+ 0Posts
13/11/2014
Marcio Araujo
Gostei + 0
13/11/2014
Marcio Araujo
Gostei + 0
13/11/2014
Alecsander Hoppe
É bem fácil cara, não tem mistério, a própria DevMedia tem tutoriais, e a documentação do PagSeguro é muito completa.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)