How to programmatically add a field to all product types? In Drupal 7, I need to programmatically add a file field to all product types. I've tried the following in the enable hook for my module, but to no avail:

$field = array(
  'field_name' =&gt; 'my_name',
  'type' =&gt; 'file', 
  'cardinality' =&gt; -1
);
field_create_field($field);

// Create the instance on the bundle.
$instance = array(
  'field_name' =&gt; 'my_name', 
  'entity_type' =&gt; 'product', 
  'label' =&gt; 'label', 
  'bundle' =&gt; 'product', 
  'required' =&gt; TRUE,
  'settings' =&gt; array(),
  'widget' =&gt; array(
    'type' =&gt; 'file_generic',
  ),
);
field_create_instance($instance);


What am I doing wrong?
The entity as defined by drupal commerce should be commerce_product:

function commerce_product_entity_info() {
  $return = array(
    'commerce_product' =&gt; array(
      'label' =&gt; t('Commerce Product'),
      ...
    ),
  );
  ...

  return $return;
}