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.