Please add some checks on the amount well, e.g. non-null and above 0.
Doesn't it make sense to take make the amount param of type a BigDecimal?