在我的网站上,我使用payU资金作为支付网关 . 在信用卡和借记卡的情况下工作正常,但在网上银行的情况下,它不会在返回网址付款后返回 . 所以我无法将付款细节管理到我的数据库中 . 我不知道如何通过测试帐户测试网上银行 . 由于周六我无法联系payU Money客户支持 .

这里是返回Url和Code .

这是控制器

public ActionResult Return(FormCollection form)
    {
        try
        {
            Session["TXNStatus"] = null;
            string[] merc_hash_vars_seq;
            string merc_hash_string = string.Empty;
            string merc_hash = string.Empty;
            string order_id = string.Empty;
            string hash_seq = "key|txnid|amount|productinfo|firstname|email|udf1|udf2|udf3|udf4|udf5|udf6|udf7|udf8|udf9|udf10";

            string amount = Convert.ToString(form["amount"]);
            string productinfo = Convert.ToString(form["productinfo"]);
            if (form["status"].ToString() == "success")
            {
                merc_hash_vars_seq = hash_seq.Split('|');
                Array.Reverse(merc_hash_vars_seq);
                merc_hash_string = System.Configuration.ConfigurationManager.AppSettings["SALT"] + "|" + form["status"].ToString();


                foreach (string merc_hash_var in merc_hash_vars_seq)
                {
                    merc_hash_string += "|";
                    merc_hash_string = merc_hash_string + (form[merc_hash_var] != null ? form[merc_hash_var] : "");

                }
                //Response.Write(merc_hash_string);
                merc_hash = Generatehash512(merc_hash_string).ToLower();



                if (merc_hash != form["hash"])
                {
                    order_id = Request.Form["txnid"];
                    PaymentModel model = new PaymentModel();
                    int userID = Convert.ToInt32(Session["UserInfoID"]);
                    var payStatus = _paymentRepo.GetMemberPaymentsByUserIDCreditCard(userID);
                    model.ID = payStatus.ID;
                    model.TXNID = order_id;
                    model.UpdatedBy = userID;
                    model.TXNStatus = TXNStatus.Failed;
                    model.UpdatedOn = DateTime.Now;
                    Session["DateTime"] = model.UpdatedOn;
                    bool pay = _paymentRepo.UpdatePaymentsByCreditCardFailed(model);
                    model.Amount = payStatus.Amount;
                    model.TXNID = order_id;
                    model.UpdatedOn = Convert.ToDateTime(Session["DateTime"]);
                    Session["TXNStatus"] = model.TXNStatus;
                    TempData["MessageFailure"] = "Transaction Failed.";
                    MailService objMail = new MailService();
                    string SubjectText = "";
                    string SubjectText1 = "";
                    string TransactionStatus = "";
                    var userInfo = _userRepo.GetUserInfos(userID);
                    model.firstName = userInfo.GroomBrideName;
                    model.email = userInfo.EmailID;
                    string DefaultURL = ConfigurationManager.AppSettings["DefaultURL"].ToString();
                    //payModel.TXNStatus =Convert.ToString(Session["TXNStatus"]);
                    string TempBody = System.IO.File.ReadAllText(Server.MapPath("/EmailTemplate/PyamentFail.html"));

                    SubjectText = "Transaction Details";
                    SubjectText1 = "Indianmuslimwedding.com : Transaction Status";
                    TransactionStatus = "Failed";
                    model.UpdatedOn = model.UpdatedOn.Value.AddHours(5).AddMinutes(30);
                    string Body = String.Format(TempBody, DefaultURL, SubjectText, model.firstName, model.TXNID, TransactionStatus, model.Amount, model.UpdatedOn, DefaultURL);
                    objMail.SendEmail(model.email, "", "", SubjectText1, Body);
                    return View(model);
                }
                else
                {
                    order_id = Request.Form["txnid"];
                    PaymentModel model = new PaymentModel();
                    int userID = Convert.ToInt32(Session["UserInfoID"]);
                    var payStatus = _paymentRepo.GetMemberPaymentsByUserIDCreditCard(userID);
                    var userInfos = _userRepo.GetUserInfos(Convert.ToInt32(Session["UserInfoID"]));
                    if (userInfos.ReferredID != null)
                    {
                        if (userInfos.Amount != null)
                        {
                            var Amount = userInfos.Amount;
                            var totalAmount = Convert.ToDecimal(amount) * Convert.ToDecimal(0.2) + Amount;
                            model.Amount = totalAmount;
                        }
                        else
                        {
                            var totalAmount = Convert.ToDecimal(amount) * Convert.ToDecimal(0.2);
                            model.Amount = totalAmount;
                        }
                    }
                    else
                    {
                        model.Amount = Convert.ToDecimal(amount);
                    }
                    model.ID = payStatus.ID;
                    model.UserInfoID = userID;
                    model.TXNID = order_id;
                    model.UpdatedBy = userID;
                    model.UpdatedOn = DateTime.Now;
                    model.TXNStatus = TXNStatus.Success;
                    model.PlanName = productinfo;
                    if (Convert.ToString(Session["SubscriptionSilverPlan"]) == productinfo)
                    {
                        model.PlanDuration = Convert.ToString(Session["SixthplanDuration"]);
                        model.ViewContactCount = UserRestriction.ViewContactCountForSilver;
                        model.SendMailCount = UserRestriction.SendMailCountForSilver;
                    }
                    else if (Convert.ToString(Session["SubscriptionGoldPlan"]) == productinfo)
                    {
                        model.PlanDuration = Convert.ToString(Session["FirstplanDuration"]);
                        model.ViewContactCount = UserRestriction.ViewContactCountForGold;
                        model.SendMailCount = UserRestriction.SendMailCountForGold;
                    }
                    else if (Convert.ToString(Session["SubscriptionDaimondPlan"]) == productinfo)
                    {
                        model.PlanDuration = Convert.ToString(Session["SecondplanDuration"]);
                        model.ViewContactCount = UserRestriction.ViewContactCountForDiamond;
                        model.SendMailCount = UserRestriction.SendMailCountForDiamond;
                    }
                    else if (Convert.ToString(Session["SubscriptionAssistedServicesPlan"]) == productinfo)
                    {
                        model.PlanDuration = Convert.ToString(Session["ThirdplanDuration"]);
                    }
                    else
                    {
                        model.PlanDuration = null;
                    }
                    model.PlanIsValid = true;

                    var subscriptionDetail = _userRepo.getSubscriptionDetailByUserID(userID);
                    if (subscriptionDetail != null)
                    {
                        SubscriptionPlan objUpdate = _context.SubscriptionPlans.Find(subscriptionDetail.ID);
                        objUpdate.PlanIsValid = false;
                        _context.SaveChanges();
                    }

                    bool pay = _paymentRepo.UpdatePaymentsByCreditCard(model);
                    if (pay)
                    {
                        var payStatus1 = _paymentRepo.GetMemberPaymentsByUserIDCreditCard(userID);
                        var userInfo = _userRepo.GetUserInfos(Convert.ToInt32(Session["UserInfoID"]));
                        Session["MemberType"] = userInfo.MemberType;
                        model.Amount = payStatus.Amount;
                        model.UpdatedOn = payStatus1.UpdatedOn;
                        model.TXNID = order_id;
                        Session["TXNStatus"] = model.TXNStatus;
                        Session["TXNID"] = order_id;
                        Session["DateTime"] = model.UpdatedOn;
                        TempData["MessageSuccess"] = "Transaction successful.";
                        MailService objMail = new MailService();
                        string SubjectText = "";
                        string SubjectText1 = "";
                        string TransactionStatus = "";
                        model.firstName = userInfo.GroomBrideName;
                        model.email = userInfo.EmailID;
                        string DefaultURL = ConfigurationManager.AppSettings["DefaultURL"].ToString();
                        //payModel.TXNStatus =Convert.ToString(Session["TXNStatus"]);
                        string TempBody = System.IO.File.ReadAllText(Server.MapPath("/EmailTemplate/Payment.html"));

                        SubjectText = "Transaction Details";
                        SubjectText1 = "Indianmuslimwedding.com : Transaction";
                        TransactionStatus = form["status"].ToString();
                        model.UpdatedOn = model.UpdatedOn.Value.AddHours(5).AddMinutes(30);
                        string Body = String.Format(TempBody, DefaultURL, SubjectText, model.firstName, model.TXNID, TransactionStatus, model.Amount, model.UpdatedOn, DefaultURL);
                        objMail.SendEmail(model.email, "", "", SubjectText1, Body);
                    }
                    return View(model);
                }
            }

            else
            {
                order_id = Request.Form["txnid"];
                PaymentModel model = new PaymentModel();
                int userID = Convert.ToInt32(Session["UserInfoID"]);
                var payStatus = _paymentRepo.GetMemberPaymentsByUserIDCreditCard(userID);
                model.ID = payStatus.ID;
                model.TXNID = order_id;
                model.UpdatedBy = userID;
                model.TXNStatus = TXNStatus.Failed;
                model.UpdatedOn = DateTime.Now;
                Session["DateTime"] = model.UpdatedOn;
                bool pay = _paymentRepo.UpdatePaymentsByCreditCardFailed(model);
                model.Amount = payStatus.Amount;
                model.TXNID = order_id;
                model.UpdatedOn = Convert.ToDateTime(Session["DateTime"]);
                Session["TXNStatus"] = model.TXNStatus;
                Session["TXNID"] = model.TXNID;
                TempData["MessageFailure"] = "Transaction Failed.";
                MailService objMail = new MailService();
                string SubjectText = "";
                string SubjectText1 = "";
                string TransactionStatus = "";
                var userInfo = _userRepo.GetUserInfos(userID);
                model.firstName = userInfo.GroomBrideName;
                model.email = userInfo.EmailID;
                string DefaultURL = ConfigurationManager.AppSettings["DefaultURL"].ToString();
                //payModel.TXNStatus =Convert.ToString(Session["TXNStatus"]);
                string TempBody = System.IO.File.ReadAllText(Server.MapPath("/EmailTemplate/PyamentFail.html"));
                if (form["status"].ToString() == "failure")
                {
                    TransactionStatus = "Failed";
                }
                SubjectText = "Transaction Details";
                SubjectText1 = "Indianmuslimwedding.com : Transaction Status";
                model.UpdatedOn = model.UpdatedOn.Value.AddHours(5).AddMinutes(30);
                string Body = String.Format(TempBody, DefaultURL, SubjectText, model.firstName, model.TXNID, TransactionStatus, model.Amount, model.UpdatedOn, DefaultURL);
                objMail.SendEmail(model.email, "", "", SubjectText1, Body);
                return View(model);
            }
        }

        catch (Exception ex)
        {
            Response.Write("<span style='color:red'>" + ex.Message + "</span>");

        }

        return View();
    }