place your error message, replace of "your message":
it should be working...
[DataType(DataType.Currency, ErrorMessage="your message")]
[Required(ErrorMessage="*")]
[Range(.50,double.MaxValue, ErrorMessage="your message")]
public Decimal PaymentAmount{get;set;}