Ir para conteúdo

POWERED BY:

Arquivado

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

JohnnyBallad

Instalação do PagSeguro com retorno

Recommended Posts

Olá pessoal.

Tenho um servidor de jogo online (ragnarok) com um sistema do paypal instalado, gostaria de mudar para o pagseguro, já achei os códigos do paypal, mas não estou conseguindo mudar para que faça o pagamento para o pagseguro.

Meu sistema tem a opção da pessoa escolher quanto vai pagar, é um sistema de doação para o jogo, a pessoa escolhe quando vai pagar e assim que confirmar o pagamento ela trannsforma isso em crédito do jogo, exemplo:

Se a pessoa doar R$1,00 ela ganha 1 credito, e assim vai...

 

http://www.bro4fun.com.br/v2/?module=donate

 

O código original do envio é:

<?php
if (!defined('FLUX_ROOT')) exit;

if (empty($amount)) {
	return false;
}

$session            = Flux::$sessionData;
$customDataArray    = array('server_name' => $session->loginAthenaGroup->serverName, 'account_id' => $session->account->account_id);
$customDataEscaped  = htmlspecialchars(base64_encode(serialize($customDataArray)));
$businessEmail      = htmlspecialchars(Flux::config('PayPalBusinessEmail'));
$donationCurrency   = htmlspecialchars(Flux::config('DonationCurrency'));
$creditExchangeRate = Flux::config('CreditExchangeRate');
$donationCredits    = floor($amount / $creditExchangeRate);
$itemName           = htmlspecialchars(sprintf('Donation Credits: %s CREDIT(s)', number_format($donationCredits)));
?>
<form action="https://<?php echo Flux::config('PayPalIpnUrl') ?>/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_donations" />
<input type="hidden" name="notify_url" value="<?php echo $this->url('donate', 'notify', array('_host' => true)) ?>" />
<input type="hidden" name="return" value="<?php echo $this->url('main', 'index', array('_host' => true)) ?>" />
<input type="hidden" name="custom" value="<?php echo $customDataEscaped ?>" />
<input type="hidden" name="business" value="<?php echo $businessEmail ?>" />
<input type="hidden" name="item_name" value="<?php echo $itemName ?>" />
<input type="hidden" name="amount" value="<?php echo (float)$amount ?>" />
<input type="hidden" name="no_shipping" value="0" />
<input type="hidden" name="no_note" value="1" />
<input type="hidden" name="currency_code" value="<?php echo $donationCurrency ?>" />
<input type="hidden" name="tax" value="0" />
<input type="hidden" name="lc" value="US" />
<input type="hidden" name="bn" value="PP-DonationsBF" />
<p style="text-align: center"><input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif"
	name="submit" alt="PayPal - The safer, easier way to pay online!" /></p>
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1" />
</form>

Eu alterei para:

<?php
if (!defined('FLUX_ROOT')) exit;

if (empty($amount)) {
	return false;
}

$session            = Flux::$sessionData;
$customDataArray    = array('server_name' => $session->loginAthenaGroup->serverName, 'account_id' => $session->account->account_id);
$customDataEscaped  = htmlspecialchars(base64_encode(serialize($customDataArray)));
$businessEmail      = htmlspecialchars(Flux::config('PayPalBusinessEmail'));
$donationCurrency   = htmlspecialchars(Flux::config('DonationCurrency'));
$creditExchangeRate = Flux::config('CreditExchangeRate');
$donationCredits    = floor($amount / $creditExchangeRate);
$itemName           = htmlspecialchars(sprintf('Donation Credits: %s CREDIT(s)', number_format($donationCredits)));
?>
<form action="https://<?php echo Flux::config('PayPalIpnUrl') ?>" method="post">
<input type="hidden" name="email_cobraca" value="bro4fun@hotmail.com" />
<input type="hidden" name="tipo" value="CBR" />
<input type="hidden" name="moeda" value="<?php echo $donationCurrency ?>" />
<input type="hidden" name="item_id" value="<?php echo $itemName ?>" />
<input type="hidden" name="item_quant" value="1" />
<input type="hidden" name="item_valor" value="<?php echo (float)$amount ?>" />
<input type="hidden" name="frete" value="0" />
<input type="hidden" name="peso" value="0" />
<p style="text-align: center"><input type="image" src="https://p.simg.uol.com.br/out/pagseguro/i/botoes/pagamento/btnComprarBR.jpg"
	name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!" /></p>

</form>

No caso do valor <?php echo (float)$amount ?>" /> é quanto a pessoa vai doar, mas o pagseguro da o erro:

* Erro 105 - O campo E-MAIL não foi informado.

 

Já alterei o metodo de post para:

	'PayPalIpnUrl'         => 'pagseguro.uol.com.br/checkout/checkout.jhtml', // The URL for PayPal's IPN responses (www.paypal.com for live and www.sandbox.paypal.com for testing)
	'PayPalBusinessEmail'  => 'bro4fun@hotmail.com',        // Enter the e-mail under which you have registered your business account.
	'PayPalReceiverEmails' => array(                    // These are the receiver e-mail addresses who are allowed to receive payment.
		//'admin2@localhost',                             // -- This array may be empty if you only use one e-mail
		//'admin3@localhost'                              // -- because your Business Email is also checked.

 

Depois tenho que configurar o sistema de retorno.

 

Alguém pode por favor me ajudar? Fico muito grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mudei meu código para:

<?php
if (!defined('FLUX_ROOT')) exit;

if (empty($amount)) {
	return false;
}

$session            = Flux::$sessionData;
$customDataArray    = array('server_name' => $session->loginAthenaGroup->serverName, 'account_id' => $session->account->account_id);
$customDataEscaped  = htmlspecialchars(base64_encode(serialize($customDataArray)));
$businessEmail      = htmlspecialchars(Flux::config('PayPalBusinessEmail'));
$donationCurrency   = htmlspecialchars(Flux::config('DonationCurrency'));
$creditExchangeRate = Flux::config('CreditExchangeRate');
$donationCredits    = floor($amount / $creditExchangeRate);
$itemName           = htmlspecialchars(sprintf('Donation Credits: %s CREDIT(s)', number_format($donationCredits)));
?>
<form action="https://pagseguro.uol.com.br/security/webpagamentos/webpagto.aspx" method="post">
<input type="hidden" name="email_cobranca" value="bro4fun@hotmail.com" />
<input type="hidden" name="tipo" value="CBR" />
<input type="hidden" name="moeda" value="BRL" />
<input type="hidden" name="item_id" value="DOACAO" />
 <input type="text" name="item_descr" value="Seu Login" />
<input type="hidden" name="item_quant" value="1" />
<input type="hidden" name="item_valor" value="<?php echo (float)$amount ?>" />
<input type="hidden" name="frete" value="0" />
<input type="hidden" name="peso" value="0" />
<p style="text-align: center"><input type="image" src="https://pagseguro.uol.com.br/Security/Imagens/btnComprarBR.jpg"
	name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!" /></p>
 </form>

Agora ele da o seguinte erro:

Você não pode comprar de sua própria loja.

 

Quando a pessoa entra na página de doação, ela escolhe quanto quer doar e o mesmo escreve no <?php echo (float)$amount ?>.

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.