示例#1
0
        public ActionResult LandLinePayment()
        {
            Dictionary <string, string> dictonary = new Dictionary <string, string>();

            ViewBag.productdenominationList = ApplicationUtilities.SetDDLValue(getdenominationlist("0", dictonary), "", "--select--");
            string AgentId  = Session["AgentId"].ToString();
            var    TxnLimit = _transactionLimit.GetTransactionLimitForUser(AgentId);
            LandLinePaymentModel landlinepayment = new LandLinePaymentModel()
            {
                TxnLimitMax              = TxnLimit.TxnLimitMax,
                TxnDailyLimitMax         = TxnLimit.TxnDailyLimitMax,
                TxnMonthlyLimitMax       = TxnLimit.TxnMonthlyLimitMax,
                TxnDailyRemainingLimit   = TxnLimit.TxnDailyRemainingLimit,
                TxnMonthlyRemainingLimit = TxnLimit.TxnMonthlyRemainingLimit
            };

            return(View(landlinepayment));
        }
示例#2
0
        public ActionResult LandLinePayment(LandLinePaymentModel landmodel)
        {
            var validMobileNo = landlinenumbervalidation(landmodel.LandLineNo);

            if (validMobileNo.Code != "0")
            {
                ModelState.AddModelError("LandLineNo", validMobileNo.Message);
                return(View(landmodel));
            }

            MobileTopUpPaymentRequest mtpr = new MobileTopUpPaymentRequest()
            {
                action_user    = Session["UserName"].ToString(),
                product_id     = landmodel.ProductId,
                amount         = landmodel.Amount,
                subscriber_no  = landmodel.LandLineNo,
                quantity       = "",
                additonal_data = "",
                CardNo         = landmodel.CardNo,
                CardAmount     = landmodel.CardAmount
            };
            var response = _mtp.MobileTopUpPaymentRequest(mtpr);

            if (response.Code == 0)
            {
                var tranid  = response.Extra1;
                var amt     = landmodel.Amount.Contains(".") ? landmodel.Amount.Split('.')[0].ToString() : landmodel.Amount;
                var payment = _LLpay.DirectPayment(tranid);
                //var payment = _mpaymentPP.ConsumeService(clientModel.MobileNo, long.Parse(amt));
                bool failed = true;
                if (payment.GatewayName == "PAYPOINT")
                {
                    if (payment.Code == shared.Models.ResponseCode.Success)
                    {
                        var billNo     = payment.Extra1;
                        var refStan    = payment.Extra2;
                        var ppresponse = (PPResponse)payment.Data;
                        var data       = new MobileTopUpPaymentUpdateRequest();
                        data.action_user    = Session["UserName"].ToString();
                        data.transaction_id = response.Extra1;
                        data.additonal_data = Newtonsoft.Json.JsonConvert.SerializeObject(ppresponse);
                        data.amount         = landmodel.Amount;
                        data.bill_number    = billNo;
                        data.refstan        = refStan;
                        data.status_code    = ppresponse.Result;
                        data.remarks        = ppresponse.ResultMessage;
                        data.ip_address     = ApplicationUtilities.GetIP();
                        data.product_id     = landmodel.ProductId;
                        data.partner_txn_id = ppresponse.TransactionId;
                        response            = _mtp.MobileTopUpPaymentResponse(data);
                        failed = false;
                    }
                    else
                    {
                        var ppresponse = (PPResponse)payment.Data;
                        var data       = new MobileTopUpPaymentUpdateRequest();
                        data.action_user    = Session["UserName"].ToString();
                        data.transaction_id = response.Extra1;
                        data.additonal_data = Newtonsoft.Json.JsonConvert.SerializeObject(ppresponse);
                        data.amount         = landmodel.Amount;
                        data.status_code    = ((int)payment.Code).ToString();
                        data.remarks        = payment.Message;
                        data.ip_address     = ApplicationUtilities.GetIP();
                        data.product_id     = landmodel.ProductId;
                        response            = _mtp.MobileTopUpPaymentResponse(data);
                    }
                }
                if (payment.GatewayName == "PRABHUPAY")
                {
                    if (payment.Code == ResponseCode.Success)
                    {
                        var ppresponse = (prabhupay.service.data.ReturnTransaction)payment.Data;
                        var billNo     = ppresponse.TransactionId; //payment.Extra1;
                        var refStan    = ppresponse.TransactionId; //payment.Extra2;
                        var data       = new MobileTopUpPaymentUpdateRequest();
                        data.action_user    = Session["UserName"].ToString();
                        data.transaction_id = response.Extra1;
                        data.additonal_data = Newtonsoft.Json.JsonConvert.SerializeObject(ppresponse);
                        data.amount         = landmodel.Amount;
                        data.bill_number    = billNo;
                        data.refstan        = refStan;
                        data.status_code    = ppresponse.Code;
                        data.remarks        = ppresponse.Message;
                        data.ip_address     = ApplicationUtilities.GetIP();
                        data.product_id     = landmodel.ProductId;
                        data.partner_txn_id = ppresponse.TransactionId;
                        response            = _mtp.MobileTopUpPaymentResponse(data);
                        failed = false;
                    }
                    else if (payment.Code == ResponseCode.Exception)
                    {
                        var ppresponse = (prabhupay.service.data.ReturnTransaction)payment.Data;
                        var billNo     = ppresponse.TransactionId; //payment.Extra1;
                        var refStan    = ppresponse.TransactionId; //payment.Extra2;
                        var data       = new MobileTopUpPaymentUpdateRequest();
                        data.action_user    = Session["UserName"].ToString();
                        data.transaction_id = response.Extra1;
                        data.additonal_data = Newtonsoft.Json.JsonConvert.SerializeObject(ppresponse);
                        data.amount         = landmodel.Amount;
                        data.bill_number    = billNo;
                        data.refstan        = refStan;
                        data.status_code    = ppresponse.Code;
                        data.remarks        = ppresponse.Message;
                        data.ip_address     = ApplicationUtilities.GetIP();
                        data.product_id     = landmodel.ProductId;
                        data.partner_txn_id = ppresponse.TransactionId;
                        response            = _mtp.MobileTopUpPaymentResponse(data);
                        failed = false;
                    }
                    else
                    {
                        var ppresponse = (prabhupay.service.data.ReturnTransaction)payment.Data;
                        var data       = new MobileTopUpPaymentUpdateRequest();
                        data.action_user    = Session["UserName"].ToString();
                        data.transaction_id = response.Extra1;
                        data.additonal_data = Newtonsoft.Json.JsonConvert.SerializeObject(ppresponse);
                        data.amount         = landmodel.Amount;
                        data.status_code    = "999";
                        data.remarks        = payment.Message;
                        data.ip_address     = ApplicationUtilities.GetIP();
                        data.product_id     = landmodel.ProductId;
                        response            = _mtp.MobileTopUpPaymentResponse(data);
                    }
                }

                if (failed)
                {
                    response.Code    = shared.Models.ResponseCode.Failed;
                    response.Message = "Transaction Failed";
                }
                response.SetMessageInTempData(this, "LandLinePayment");
                if (failed)
                {
                    return(RedirectToAction("LandLinePayment"));
                }
                return(RedirectToAction("ResultPage", ControllerName, new { txnid = response.Extra1.EncryptParameter() }));
                //return RedirectToAction("MobileTopup");
            }
            response.SetMessageInTempData(this, "LandLinePayment");

            //if (Session["UserType"].ToString().ToLower() == "merchant")
            //    return RedirectToAction("MobileTopUp3");


            return(RedirectToAction("LandLinePayment"));
        }