Ir para conteúdo

POWERED BY:

Arquivado

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

lucxsborges

Not found - Consulta de Transação por Código

Recommended Posts

Estou tentando realizar a consulta de status de uma transação do pagseguro pela seguinte API: "Transações por Código" (https://dev.pagseguro.uol.com.br/docs/bibliotecas-php-transacoes-busca-por-codigo) e ela me retorna o erro "Not Found", o problema não está nela, e sim em uma API anterior que uso para criar uma recorrencia, esta deveria me retornar o código da transação para que eu pudesse buscar o status dela, porém ela me retorna um código diferente do que é registrado na conta do Pagseguro, segue a API que uso para criar a recorrencia: "Recorrência Transparente: Adesão à recorrência" (https://dev.pagseguro.uol.com.br/docs/bibliotecas-php-recorrencia-transparente-adesao-a-recorrencia). Alguém já teve esse problema e conseguiu encontrar uma solução?

 

Segue abaixo o código que estou usando:

 
public function aderirPlano(
$plan,
$reference,
$senderName,
$senderEmail,
$senderIp,
$street,
$adress_number,
$district,
$postalCode,
$city,
$state,
$country,
$type,
$value,
$areaCode,
$phone_number,
$creditCardtoken,
$creditCardholderName,
$creditCardholderBirthdate
)
{
$preApproval = new \PagSeguro\Domains\Requests\DirectPreApproval\Accession();
 
/**
* Código do plano ao qual a assinatura será vinculada. Formato: Obtido no método /pre-approvals/request.
*
* @var string $preApprovalPlan
*/
$preApproval->setPlan($plan);
 
/**
* Código de referência da assinatura no seu sistema. Formato: Livre, com no mínimo 1 e no máximo 200 caracteres.
*
* @var string $preApprovalReference
*/
$preApproval->setReference($reference);
 
/**
* Nome completo do consumidor. Formato: Livre, com no mínimo duas sequências de strings e limite total de 50
* caracteres.
*
* @var string $senderName
*/
$preApproval->setSender()->setName($senderName);
 
/**
* E-mail do consumidor. Formato: Um e-mail válido, com limite de 60 caracteres.
*
* @var string $senderEmail
*/
$preApproval->setSender()->setEmail($senderEmail);
 
/**
* Endereço de IP de origem do consumidor. Obrigatório se hash for nulo. Formato: 4 números, de 0 a 255, separados por
* ponto.
*
* @var string $senderIp
*/
$preApproval->setSender()->setIp($senderIp);
 
/*
* Endereço do consumidor.
*/
$preApproval->setSender()->setAddress()->withParameters(
$street,
$adress_number,
$district,
$postalCode,
$city,
$state,
$country
);
 
$document = new \PagSeguro\Domains\DirectPreApproval\Document();
$document->withParameters($type, $value);
 
/** @var \PagSeguro\Domains\DirectPreApproval\Document $document Documentos do consumidor */
$preApproval->setSender()->setDocuments($document);
 
$preApproval->setSender()->setPhone()->withParameters(
/**
* DDD do comprador. Formato: Um número de 2 dígitos correspondente a um DDD válido.
*
* @var string $areaCode
*/
$areaCode,
/**
* Número do telefone do comprador. Formato: Um número entre 7 e 9 dígitos.
*
* @var string $number
*/
$phone_number
);
 
/**
* Token retornado no método Javascript PagSeguroDirectPayment.createCardToken().
*
* @var string $creditCardtoken
*/
$preApproval->setPaymentMethod()->setCreditCard()->setToken($creditCardtoken);
 
/**
* Nome conforme impresso no cartão de crédito. Formato: No mínimo 1 e no máximo 50 caracteres.
*
* @var string $creditCardholderName
*/
$preApproval->setPaymentMethod()->setCreditCard()->setHolder()->setName($creditCardholderName);
 
/**
* Data de nascimento do dono do cartão de crédito. Formato: dd/MM/yyyy.
*
* @var string $creditCardholderBirthdate
*/
$preApproval->setPaymentMethod()->setCreditCard()->setHolder()->setBirthDate($creditCardholderBirthdate);
 
/** @var \PagSeguro\Domains\DirectPreApproval\Document $document Documentos do consumidor */
$preApproval->setPaymentMethod()->setCreditCard()->setHolder()->setDocuments($document);
 
$preApproval->setPaymentMethod()->setCreditCard()->setHolder()->setPhone()->withParameters(
/**
* DDD do comprador. Formato: Um número de 2 dígitos correspondente a um DDD válido.
*
* @var string $areaCode
*/
$areaCode,
/**
* Número do telefone do comprador. Formato: Um número entre 7 e 9 dígitos.
*
* @var string $number
*/
$phone_number
);
 
/*
* Endereço de Cobrança.
*/
$preApproval->setPaymentMethod()->setCreditCard()->setHolder()->setBillingAddress()->withParameters(
$street,
$adress_number,
$district,
$postalCode,
$city,
$state,
$country
);
 
try {
$response = $preApproval->register(
/** @var \PagSeguro\Domains\AccountCredentials | \PagSeguro\Domains\ApplicationCredentials $credential */
\PagSeguro\Configuration\Configure::getAccountCredentials(),
true
);
return $response;
} catch (Exception $e) {
return $e->getMessage();
}
}

 

No controller chamo essa função acima e ela retorna um parametro "code" que eu salvo em uma variável e uso ela em seguida na seguinte função:

 

public function dadosTransacao($transactionCode)
{
try {
$response = \PagSeguro\Services\Transactions\Search\Code::search(
/** @var \PagSeguro\Domains\AccountCredentials | \PagSeguro\Domains\ApplicationCredentials $credential */
\PagSeguro\Configuration\Configure::getAccountCredentials(),
/**
* Código que identifica a transação. Código da transação que será consultada.
*
* Presença: Obrigatória.
* Tipo: Texto.
* Formato: Uma sequência de 36 caracteres, com os hífens, ou 32 caracteres, sem os hífens.
*
* @var string $transactionCode
*/
$transactionCode
);
return $response;
} catch (Exception $e) {
return $e->getMessage();
}
}

 

E então recebo "Not found" como resposta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por emmanuelsiqueira30
      Pessoal boa tarde.
      Estou precisando de um help na seguinte questão:
      Estou com um formulário em PHP, chamada cadastro.php que passa um POST para a página de transação chamada resumo-boleto.php, porém o arquivo que possui as configurações (config.php) de E-mail e Token, quando uso o do Sandbox funciona e gera o boleto normalmente mas ao colocar em produção não passa nenhum parametro.
       
       
    • Por emmanuelsiqueira30
      Pessoal boa tarde.
      Estou precisando de um help na seguinte questão:
      Estou com um formulário em PHP, chamada cadastro.php que passa um POST para a página de transação chamada resumo-boleto.php, porém o arquivo que possui as configurações (config.php) de E-mail e Token, quando uso o do Sandbox funciona e gera o boleto normalmente mas ao colocar em produção não passa nenhum parametro.
    • Por tony_lu
      Ola pessoal, preciso de uma ajuda!
      Tenho uma loja virtual na brasil na web onde esta integrado uma conta do pagseguro. Acontece que a mesma empresa quer uma outra loja, porém na plataforma Tray e com pagamento via Pagseguro! Então estou na duvida, posso integrar a mesma conta pagseguro com o mesmo token para as duas lojas? Não pode dar conflito?
      A plataforma Brasil na Web eu coloco para configurar o token e o email de cadastro do Pagseguro, na loja Tray tem que colocar além do token, cadastrar uma url la dentro do pagseguro, acho que é uma url de retorno. Então meu receio é dar conflito! Qual seria a melhor solução? Aguardo obrigado
    • Por New Job
      Tenho um checkout pagseguro configurado em um site e gostaria de ajustar o código. Linguagem é PHP.
    • Por Fábio BN
      Olá.

      Tenho um POST que funciona em todos navegadores de PC, menos em Iphone e num navegador padrão que vem Android, onde será que errei?
       
      <script type="text/javascript" src="../../js/jquery-1.11.1.min.js"></script> <script type="text/javascript" src="../../js/jquery.mask.min.js"></script> <script type="text/javascript" src="../../js/bootstrap.min.js"></script> <script> <script> function enviaPagseguro(){ $.post("pedido_pag_seguro.php",'',function(data){ $('#code').val(data); $('#comprar').submit(); }) } </script> <form id="comprar" action="https://pagseguro.uol.com.br/checkout/v2/payment.html" method="post" onsubmit="PagSeguroLightbox(this); return false;"> <input type="hidden" name="code" id="code" value="" /> <input type="hidden" name="pedido" id="pedido" value="<?php echo $tudo1['codigo_user']; ?>" /> <?php $_SESSION['user_comprador'] = $tudo1['codigo_user_temp']; ?> <?php $_SESSION['valor_pedido'] = number_format($total_geral, 2, ',', '.'); ?> <input type="hidden" name="valor_pedido" id="valor_pedido" value="<?php echo number_format($total_geral, 2, ',', '.'); ?>" /> <div name="submit" align="center" onclick="enviaPagseguro()" class="pag_seguro"> <div align="center"><img src="../../imagens/loja_virtual/boleto_grande.gif" class="img-responsive padding_bottom5"></div> <div align="center"><img src="../../imagens/loja_virtual/logos_pag_seguro.gif" class="img-responsive"></div> </div> </form> <script type="text/javascript" src="https://stc.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.lightbox.js"></script> Obrigado!
×

Informação importante

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