make product_code optional, and use it if it's there
v1.1.0

 - product_code is no longer required (it was not used)
 [Incompatible changes]
 - if you pass product_code, it will now be used in the request