var content = new StringContent(JsonConvert.SerializeObject(new {Amount = amount}), Encoding.ASCII, "application/json");
var saleRequest = await client.PostAsync($"/Terminal/{_tid}/Sale/", content);
saleRequest.EnsureSuccessStatusCode();
var saleResponse = JsonConvert.DeserializeObject(await saleRequest.Content.ReadAsStringAsync());
TransactionModel transaction = null;
async Task WaitForCompleteStatusAsync()
{
transaction = await GetTransaction(saleResponse.ResourceId);
while (transaction == null || transaction.status is "InProgress" or "Pending" or "404")
{
transaction = await GetTransaction(saleResponse.ResourceId);
Thread.Sleep(500);
}
}
await WaitForCompleteStatusAsync();
return transaction;