using Newtonsoft.Json.Linq;
public static void Main()
""HttpStatus"": ""Created"",
""CustomerFirstName"": ""test"",
""CustomerLastName"": ""unknown"",
""CustomerCompany"": null,
""Status"": ""Authorized"",
""RecurringScheduleId"": 0,
""PaymentSubType"": ""Moto"",
""ProviderAuthCode"": ""Approved"",
""TraceNumber"": ""796974"",
""PaymentDate"": ""2020-09-10T06:00:00Z"",
""EstimatedSettleDate"": ""2020-09-14T06:00:00Z"",
""EstimatedDepositDate"": ""2020-09-12T06:00:00Z"",
""ActualSettledDate"": null,
""CanVoidUntil"": ""2020-09-11T02:45:00Z"",
""RequiresReceipt"": false,
""PaymentHasRecaptchaValidation"": false,
""InvoiceNumber"": ""4373140"",
""PurchaseOrderNumber"": null,
""OrderId"": ""b9982f7c-121a-4848-8ed9-b8cf560db89d"",
""Description"": ""Credit Card Payment Invoice#:4373140"",
""SuccessReceiptOptions"": null,
""FailureReceiptOptions"": null,
""LastModified"": ""2020-09-10T21:52:16Z"",
""CreatedOn"": ""2020-09-10T21:52:16Z""
var transId = string.Empty;
var failureCode = string.Empty;
var failureDescription = string.Empty;
var jObject = JObject.Parse(json);
var response = jObject.Value<JToken>("Response");
transId = response.Value<string>("Id");
var failureData = response.Value<JToken>("FailureData");
if (failureData.HasValues)
failureCode = failureData.Value<string>("Code");
failureDescription = failureData.Value<string>("Description");
isDecline = failureData.Value<bool>("IsDecline");
Console.WriteLine(transId);
Console.WriteLine(failureCode);
Console.WriteLine(failureDescription);
Console.WriteLine(isDecline.ToString());