Ir para conteúdo
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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • 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.