Beispiel #1
0
        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} ปิดชั่วคราว", "ตกลง");
                }
            }
        }
Beispiel #2
0
        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();
                }
            }
        }