I've only ever seen the provider generate the code, its then passed through the middleman (you in this case) and on to the consumer.
I don't think this would be bad practice. It would be one number that you could use to identify the whole series of transactions.