Why does the Contract Reference need to be unique?
Some of our customers choose not to store ICEPAY's ContractId in their system. When they receive a Postback Notification they rely on the reference to correctly identify the order in question. To prevent any miscommunication ICEPAY decided to require a unique value for the reference per ContractProfileId.
If you are using references that have been used in the past you should increment your internal references to above the values previously used.