* [[NoCreditsRegistered]] --> if productType == credit and productId doesn't exist
* [[InvalidProductForInstance]] --> if productType == credit and credit belongs to other instance
* [[InvalidPricingModel]] --> if (pricingModel == null || OR pricingModel.ID == 0) && (productType != ProductType.Credit)
* [[InvalidPricingModelForThisProduct]] --> if pricingModel.instance != current instance
* [[GenericError]] --> CreateInternalPurchase or createExternalPurchase SQL exception