Users can rate product after their order status changed to completed
What I am suggesting is to create a new node type "review" and referenced this to product with references module. Create one view to display reviews or rating on product page. Create one permission or need to hook for permission to access already purchase of same product.