Refactor code to lessen blocks
Change payment depot total_received_amount_cache to decimal

- Avoid issues when comparing float and decimal in Ruby, where 0.0006 big
decimal was smaller than 0.0006 float
Prepare 0.5.5