private async Task CallTopUpWebService(string toAccountNumber, long?amount, string cvv, TLV emvData) { Device.BeginInvokeOnMainThread(() => { gridProgress.IsVisible = true; }); try { Proxies.DCEMVDemoServerClient client = SessionSingleton.GenDCEMVServerApiClient(); using (SessionSingleton.HttpClient) { CCTopUpTransaction tx = new CCTopUpTransaction() { Amount = amount.Value, CVV = cvv, EMV_Data = TLVasJSON.ToJSON(emvData), }; await client.TransactionTopupPostAsync(tx.ToJsonString()); } } catch (Exception ex) { throw ex; } finally { Device.BeginInvokeOnMainThread(() => { gridProgress.IsVisible = false; }); } }