Add values to multiple keys in one line
I haven't tested this but you should be able to do something like:

my_hash = Hash.new { |h, k|   
  if k == :total_cash
    h[k] = Hash.new { |h, k| h[k] = Hash.new(0) }                           
  else
    h[k] = Hash.new(&amp;h.default_proc) 
}


Other than that, I think it would be easier to read if you reorder it a bit:

my_hash = {
  total_cash: Hash.new(0), total_credit: Hash.new(0), 
  users: Hash.new { |h, k| h[k] = {
    total_cash: Hash.new(0), total_credit: Hash.new(0) },
    showtimes: Hash.new { |h, k| h[k] = {
      total_cash: Hash.new(0), total_credit: Hash.new(0) },
      movies:  Hash.new { |h, k| h[k] = {
        total_cash: Hash.new(0), total_credit: Hash.new(0) },
        payment_methods: Hash.new { |h, k| h[k] = Hash.new(0) }
      }
    }
  }
}