BuyFeature with error on cancelled

error to distinguish between user cancelled and any error using error
code with error object