Manipulação de erros
Ao utilizar o SDK de PHP, espera-se que a integração seja robusta; sendo assim, é fundamental lidar com possíveis imprevistos da API ou do transporte de dados na forma de exceptions.
Quando a API retorna um erro, uma exception do tipo \OpenPix\PhpSdk\ApiErrorException
é lançada.
Caso ocorra algum erro no transporte dos dados, o cliente HTTP utilizado irá lançar uma exceção que estende \Psr\Http\Client\ClientExceptionInterface
de acordo com a PSR-18.
A mensagem de erro de uma possível exceção pode ser obtida pelo método getMessage
.
Veja como você pode capturar todos os possíveis erros do SDK:
use OpenPix\PhpSdk\ApiErrorException;
use Psr\Http\Client\ClientExceptionInterface;
try {
$charge = [
"value" => 100, // R$ 100,00
"correlationID" => "anothercorrelationid-" . strval(time()),
];
/** @var \OpenPix\PhpSdk\Client $client */
$result = $client->charges()->create($charge);
} catch (ApiErrorException|ClientExceptionInterface $e) {
// Lida com os erros relacionados ao SDK.
echo "Ocorreu um erro durante a criação da cobrança: " . $e->getMessage() . "<br>\n";
}