It looks like you are dealing with a generic response object which you must deserialize first. Then you can deserialize data string.
class Program
{
static async Task Main(string[] args)
{
byte[] fileContents = await File.ReadAllBytesAsync("json1.json");
EstoJarelMaksTulemnus response = JsonSerializer.Deserialize<EstoJarelMaksTulemnus>(fileContents);
EstoData data = JsonSerializer.Deserialize<EstoData>(response.data);
Console.WriteLine($"Id: {data.id}");
}
}
public class EstoJarelMaksTulemnus
{
public object[] errors { get; set; }
public string data { get; set; }
public string mac { get; set; }
}
public class EstoData
{
public string id { get; set; }
public string status { get; set; }
public string purchase_url { get; set; }
public string merchant_reference { get; set; }
public float amount { get; set; }
public string currency { get; set; }
public bool is_test { get; set; }
public string return_url { get; set; }
public string notification_url { get; set; }
}