We used to have it like that initially but this ended up creating more problems for our users. We would need to refund if a user forget the code or mistype it, that's why we request our users to create an order first.
this territory is moderated