Boa tarde tudo bem com todos? Poderiam analisar esse try / catch da requisição à API de cartão de crédito e me dizer se está correto por gentileza, se possível me enviar exemplos do tratamento pós-request para que eu possa corrigir meu código em caso de problemas, muito obrigado, segue o código:
try {
$api = new Gerencianet($options);
$response = $api->createOneStepCharge($params = [], $body);
$response_array = json_decode($response, true);
if (json_last_error() === JSON_ERROR_NONE) {
$status = isset($response_array['data']['status']) ? $response_array['data']['status'] : '';
if ($status === 'approved') {
updateOrderDetails($order_id, $_POST['customerName']);
return [
'result' => 'success',
'redirect' => $this->get_return_url(wc_get_order($order_id))
];
} else {
return [
'result' => 'failure',
'message' => 'Payment status is not approved. Current status: ' . $status
];
}
} else {
return [
'result' => 'failure',
'message' => 'Error decoding JSON: ' . json_last_error_msg()
];
}
} catch (GerencianetException $e) {
return [
'result' => 'failure',
'message' => 'Gerencianet Error - Code: ' . $e->code . ', Error: ' . $e->error . ', Description: ' . $e->errorDescription
];
} catch (Exception $e) {
return [
'result' => 'failure',
'message' => 'General Error: ' . $e->getMessage()
];
}