async void PayBank_ClickedAsync(object sender, System.EventArgs e) { var item = sender as ImageButton; var pay = double.Parse(txtPay.Text); if (pay > _contract.bal_amt - _contract.disc_amt) { await DisplayAlert("ยืนยันการชำระเงิน", "ไม่สามารถชำระเงินได้ เนื่องจากจำนวนเงินที่ต้องการชำระเกินจำนวนยอดคงเหลือหลังจากหักส่วนลดแล้ว!", "ตกลง"); } else { var payTransaction = pay.ToString("0.00"); var index2 = item.StyleId.Replace("btnBank", ""); var index = Int32.Parse(index2); var bank = _banks.data[index]; if (bank.channel_id != "internetbank_scb" && bank.channel_id != "payplus_kbank") { var answer = await DisplayAlert("ยืนยันการชำระเงิน", $"คุณต้องการชำระเงินจำนวน {pay} บาท ผ่านธนาคาร {bank.channel_name} ใช่หรือไม่", "ตกลง", "ยกเลิก"); if (answer) { payTransaction = payTransaction.Replace(".", ""); var payOrder = Int32.Parse(payTransaction); var order = new m_newOrder { CustomerId = _profile.CUST_NO, ContractNo = _contract.con_no, DeviceId = _deviceId, Amount = payOrder, PhoneNumber = _profile.TEL, Description = "Test API", ChannelCode = bank.channel_id }; var result = Payments.newOrder(order); if (result.code == 200) { if (result.data.Code == 200) { Application.Current.MainPage = new NavigationPage(new PaymentView(result.data.PaymentUrl, _profile, _deviceId, _serialSim, _version)); // NavigationPage(new Mainpage(resIdentify.data, deviceId)); //await Navigation.PushAsync(new PaymentView(result.data.PaymentUrl)); //this.Navigation.RemovePage(this); } else { await DisplayAlert("ไม่สามารถทำรายการชำระได้", result.data.Message, "ตกลง"); } } else { await DisplayAlert("สามารถทำรายการชำระได้", result.message, "ตกลง"); } } } else { await DisplayAlert("ไม่สามารถทำรายการชำระได้", $"บริการชำระเงินผ่านธนาคาร {bank.channel_name} ปิดชั่วคราว", "ตกลง"); } } }
public static m_resOrder newOrder(m_newOrder value) { string registerUrl = Constant.WebService.Production.Api.Payment.newOrder; using (var client = new HttpClient()) { try { client.BaseAddress = new Uri(Host); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); string postBody = JsonConvert.SerializeObject(value); var content = new StringContent(postBody, Encoding.UTF8, "application/json"); var response = client.PostAsync(registerUrl, content).Result; if (response.IsSuccessStatusCode) { var responseObj = JsonConvert.DeserializeObject <m_resOrder>(response.Content.ReadAsStringAsync().Result); return(responseObj); } else { return(null); } } finally { client.Dispose(); } } }