Clean the constructor and provide concrete methods for loading/creating a receipt
Remove redundant cast
Appropiate and more intuitive naming
Receipt was being stored before setting the receipt hash, now works properly