The same concept should apply in the case of divs. You just need to update the createDiv() function to call a property. You're already passing the array to the createElements() function, which in turn loops through each individual product and passes it (one at a time) to createDiv(). So calling data.products as it's written now is asking for the "products" property on an individual product (which doesn't exist and thus is undefined). Try updating that line to
<p>${data.product_name}</p>
I think that should fix it.