When you use contentType as "application/x-www-form-urlencoded", it appends append value to url. This is the default value of contentType. It looks like:
?Name=Manas&Age=28
But when you use contentType as "application/json", it looks like
{ Name : 'Manas', Age: 28}
So "application/x-www-form-urlencoded" is not same as "application/json".
Try with below code:
public class MyCustomClass {
public string amount{ get; set; }
public string buyer{ get; set; }
}
Next use .net JavaScriptSerializer().Deserialize to get data .Net custom object.
[HttpPost]
public void Post([FromBody]string formData){
MyCustomClass obj = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<mycustomclass>(formData);
}