Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alvarogtc

[Resolvido] Redirecionar inves de Criar PaymentRequest

Recommended Posts

Pessoal estou tentando utilizar essa nova api do Pagseguro..

 


lass createPaymentRequest {

public static function main () {

	// Instantiate a new payment request
	$paymentRequest = new PaymentRequest();

	// Sets the currency
	$paymentRequest->setCurrency("BRL");

	// Add an item for this payment request
	$paymentRequest->addItem('0001', 'Notebook prata', 2,430.00);

	// Add another item for this payment request
	$paymentRequest->addItem('0002', 'Notebook rosa',  2,560.00);

	// Sets a reference code for this payment request, it is useful to identify this payment in future notifications.
	$paymentRequest->setReference("REF1234");

	// Sets shipping information for this payment request
	$CODIGO_SEDEX = ShippingType::getCodeByType('SEDEX');
	$paymentRequest->setShippingType($CODIGO_SEDEX);
	$paymentRequest->setShippingAddress('01452002',  'Av. Brig. Faria Lima',  '1384', 'apto. 114', 'Jardim Paulistano', 'São Paulo', 'SP', 'BRA');

	// Sets your customer information.
	$paymentRequest->setSender('João Comprador', 'comprador@uol.com.br', '11', '56273440');

	$paymentRequest->setRedirectUrl("http://www.lojamodelo.com.br");

	try {

		/*
		* #### Crendencials ##### 
		* Substitute the parameters below with your credentials (e-mail and token)
		* You can also get your credentails from a config file. See an example:
		* $credentials = PagSeguroConfig::getAccountCredentials();
		*/			
		$credentials = new AccountCredentials("your@email.com", "your_token_here");

		// Register this payment request in PagSeguro, to obtain the payment URL for redirect your customer.
		$url = $paymentRequest->register($credentials);

		self::printPaymentUrl($url);

	} catch (PagSeguroServiceException $e) {
		die($e->getMessage());
	}

}

public static function printPaymentUrl($url) {
	if ($url) {
		echo "<h2>Criando requisição de pagamento</h2>";
		echo "<p>URL do pagamento: <strong>$url</strong></p>";
		echo "<p><a title=\"URL do pagamento\" href=\"$url\">Ir para URL do pagamento.</a></p>";
	}
}

}

createPaymentRequest::main();

 

funciona corretamente

 

porem inves de imprimir a url do pagamento queria que ao processar o codigo o redirecionamento fosse automatico,

 

alguem pode ai me auxiliar?

 

Obrigada!

 

acabei fazendo da forma que encontrei aqui

 

http://forum.imasters.com.br/topic/448909-pagando-com-api/

 

obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

post antigo mas alguém pode precisar da resposta então lá vai:

 

para redirecionamento pode se usar o header do php ou outras coisas de js ou html

 

mas recomendo o meta refresh por que na minha opinião é o que menos falha ao redirecionar em vários navegadores:

 

       echo "<meta http-equiv='refresh' content='7; url=$url'>"; // vai redirecionar em 7 segundos

coloca essa código abaixo do ultimo echo ali que resolve.

abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

post antigo mas alguém pode precisar da resposta então lá vai:

 

para redirecionamento pode se usar o header do php ou outras coisas de js ou html

 

mas recomendo o meta refresh por que na minha opinião é o que menos falha ao redirecionar em vários navegadores:

 

       echo "<meta http-equiv='refresh' content='7; url=$url'>"; // vai redirecionar em 7 segundos

coloca essa código abaixo do ultimo echo ali que resolve.

 

abraços.

 

 

Brother, redirecionamento via Servidor é livre de falhas no navegador, pelo fato do navegador não poder controlar isso.

 

Se é possivel acontecer alguma falha pelo navegador de redirecionamento, a falha ocorrerá se o código estiver em HTML ou javascript.

 

Sem contar no tempo e processamento gasto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother, quando você chama o header e ele redireciona, não é uma mágica do servidor, é uma chamada para o servidor e retorno para o cliente, ou melhor dizendo é uma chamada de cabeçalho http, e claro que falha, já viu sites php com a msg: caso não redirecione clique nesse link.. poisé, um dos motivos é evitar uma eventual trava no redirecionamento, com vários navegagadores o meta refresh nunca me falhou, além de ser no cliente e não no servidor, a chamada do meta é direta, o header liga pro servidor e retorna o cabeçalho http, é um caminho mais longo eu acredito, o header trava bastante sim, e abaixo segue os motivos explicados pelo php.net, e outro pequeno detalhe, não há como fazer um sistema web que precisa de html sem usar tags html, logo o trecho abaixo descreve algumas complicações do header por conta de conflitos/problemas com saida, posicionamento e outras coisas:

header ()
é usado para enviar um cabeçalho HTTP cru. Veja as »HTTP/1.1 especificação para obter mais informações sobre cabeçalhos HTTP.

Lembre-se que header () deve ser chamado antes de qualquer saída real seja enviada, seja por tags HTML normais, linhas em branco em um arquivo, ou a partir do PHP. É um erro muito comum ler código com incluir, ou exigir, funções ou outra função de acesso a arquivos, e ter espaços ou linhas vazias que estão de saída antes de header () é chamado. O mesmo problema ocorre quando se utiliza um único arquivo PHP / HTML.
http://php.net/manual/pt_BR/function.header.php

 

logo o header não seria recomendado para a aplicação acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.