Can't understand the last few sentences, are you getting a Purchase Order Number from the gateway to store on the order? If so, you can just add a field to the Order class, and then update the order after payment.
If not, then why not just use OrderID? It is already unique.