I am pulling in transaction details from const details and I need to pull out brand from the JSON paymentResponse. I am receiving an undefined error but everything in let cardType looks correct. What am I missing?
let cardType = JSON.parse(orderDetails.paymentResponse).data?.payment_method_details?.card?.brand;
The code:
const [orderDetails, setOrderDetails] = useState({});
const getOrderDetails = async () => {
let data = {};
data.orderId = params.id;
const details = await orderApi.getOrderDetails(userAuthToken, data);
if (details && details.data.success) {
if (details.data.data.length > 0) {
setOrderDetails(details.data.data[0]);
} else {
navigate('/');
}
} else {
navigate('/');
}
};
useEffect(() => {
(async () => {
if (params.id) {
setLoading(true);
await getOrderDetails();
setLoading(false);
} else {
navigate('/');
}
})();
}, [params.id]);
//
let cardType = JSON.parse(orderDetails.paymentResponse).data?.payment_method_details?.card?.brand;
console.log(cardType);
The JSON structure where brand is:
{
"data":{
"payment_method_details":{
"card":{
"brand":"jcb"
}
}
}
}

orderDetailsand error message?if (orderDetails) let cardType = JSON.parse(orderDetails.paymentResponse...Cause yourorderDetailsis not avaiable once your component loads...