pagseguro-sdk-php
pagseguro-sdk-php copied to clipboard
Troca de Status de preApproval para SUSPENDED retorna erro "Pre-approval status is false."
Este relatório deve ser usado APENAS para reportar bugs
Comportamento esperado
Troca de Status de preApproval de ACTIVE para SUSPENDED
Comportamento atual
Ao realizar a requisição, retorna erro:
{"errors":{"17022":"invalid pre-approval status to execute the requested operation. Pre-approval status is false."},"error":true}
Ambiente (produção, sandbox)
Produção e Sandbox
Passos para reproduzir o bug
Segue abaixo trecho utilizado
$status = new \PagSeguro\Domains\Requests\DirectPreApproval\Status();
$status->setPreApprovalCode($preApprovalCode);
$status->setStatus('SUPENDED');
try {
$response = $status->register(
\PagSeguro\Configuration\Configure::getAccountCredentials()
);
return $response;
} catch (\Exception $e) {
}
Asseguro que a tentativa de suspensão foi realizada em uma Assinatura no status "ACTIVE"
Ao realizar o inverso, utilizando de $status->setStatus('ACTIVE');
em uma assinatura suspensa "SUSPENDED" o erro não ocorre.
Descrição Detalhada
Log completo da requisição:
21/05/2021 17:19:32 PagSeguro.DirectPreApproval[info]: Begin
21/05/2021 17:19:32 PagSeguro.DirectPreApproval[info]: PUT: https://ws.pagseguro.uol.com.br/pre-approvals/PREAPPROVAL/status?email=contato%40xtrainingbrasil.com.br&token=TOKEN
21/05/2021 17:19:32 PagSeguro.DirectPreApproval[info]: Params: {"status":"SUPENDED"}
21/05/2021 17:19:33 PagSeguro.DirectPreApproval[error]: {"errors":{"17022":"invalid pre-approval status to execute the requested operation. Pre-approval status is false."},"error":true}
Possível solução
Entrei em contato com a Pagseguro e recebi uma mensagem ontem, um tanto estranha, ja que o que foi dito deveria estar como informação aqui neste repositório também.
Boa tarde Andrew,
Tudo bem?
O suporte as bibliotecas e SDKs do PagSeguro foi descontinuado, conforme indicado em nossa documentação e com isso,
esses produtos não receberão melhorias ou atualizações.
Para alterar o status de um plano em sandbox, utilize o painel desse ambiente, no menu Planos >> Assinaturas.
Em produção, não há um endpoint específico para alteração do status de um plano. O mesmo é alterado de acordo com
as condições da adesão.
Respondi este email ontem ainda, porém não obtive resposta quanto ao questionamento:
A função de suspender e reativar o plano permanece na documentação:
https://dev.pagseguro.uol.com.br/reference/api-recorrencia#suspensão-e-reativação na Versão stable (v1) e a versão v4
não contém conteúdo de recorrência. (https://dev.pagseguro.uol.com.br/v4.0/reference/nova-plataforma)
A qual devo me referir e onde obtenho informação quanto ao que ainda funciona da versão stable?
Qual a recomendação atual para novas integrações?
Acredito que isso seja meio preocupante...