⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 onlinepay.ascx.cs

📁 如果不使用IIS,请先运行 XSP.exe,待提示已侦听 8080端口后
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using DNNLite.Entites.Modules;
using Ader.TemplateEngine ;
using DNNLite.DesktopModules.OnlinePay;

public partial class DesktopModules_OnlinePay_OnlinePay : TempletPortalModuleBase,IPostBackEventHandler  
    ,IActionable 
{

    protected string platform = string.Empty;
    protected string paymentnum = string.Empty;

    protected string isgotoselect = string.Empty;

    protected void Page_Load(object sender, EventArgs e)
    {
        paymentnum = Request["paymentnum"];
        isgotoselect = Request["isgotoselect"];
    }

    protected override string TemplateFile
    {
        get 
        {
            if (string.IsNullOrEmpty(paymentnum))
            {
                return "~/Templets/OnlinePay/没有指定支付流水号的页面.htm";
            }
            if (!string.IsNullOrEmpty(isgotoselect))
            {
                return "~/Templets/OnlinePay/点击进入支付平台选择.htm";
            }
            

            if (Settings.ContainsKey("SelectPlatform"))
            {
                return Settings["SelectPlatform"];
            }
            else
            {
                return "~/Templets/OnlinePay/在线支付平台选择.htm";
            }
        }
    }

    protected override void SetValues(IDictionary<string, object> bag)
    {
        bag.Add("eventsource", this.UniqueID);
        bag.Add("paylink", DNNLite.Comm.Comm.NavigateURL(Tabid,"paymentnum="+paymentnum ) );
    }

    /// <summary>
    /// 回发后,选择平台
    /// </summary>
    private void SelectPlatform()
    {
        if (string.IsNullOrEmpty(paymentnum))
        {
            return;
        }

        PayAble payable = Session[paymentnum] as PayAble;
        if (payable == null)
        {
            paymentnum = "";
            return;
        }


        if (!string.IsNullOrEmpty(Request["platform"]))
        {
            platform = Request["platform"];

            string tplfile = Server.MapPath( "~/Templets/OnlinePay/在线支付_" + platform + ".htm");
            string output = string.Empty;

            TemplateManager tpl = TemplateManager.FromFile(tplfile); 
            
            PaymentLog pl = new PaymentLog();

            switch (platform)
            { 
                case "网银":

                    
                    pl.UserName = Page.User.Identity.Name;
                    pl.OrderID = payable.Orderid;
                    pl.TransactionId = payable.Orderid;

                    pl.MoneyPay = payable.Money;
                    pl.PayTime = DateTime.Now;
                    pl.Platform = "网银";
                    pl.CallBackMethod = payable.CallBackMethodName;
                    pl.PaymentNum = paymentnum;
                    pl.CreateAndFlush();

                    ChinaBankData chinabank = new ChinaBankData();
                    chinabank.v_amount = payable.Money.ToString("F2");
                    chinabank.raworder = payable.RawObj;
                    chinabank.v_oid = payable.Orderid   ;

                    chinabank.ProcessData();
                    
                    tpl.SetValue("chinabank", chinabank);

                    break;

                case "财付通":

                    //接收传给财付通网关的商户订单的参数
                    Md5Pay md5pay = new Md5Pay();


                    //商品名称
                    md5pay.Desc = payable.Orderid;

                    //商品总金额,以分为单位.
                    md5pay.Total_fee = (long)(payable.Money * 100);

                    //商户订单号
                    md5pay.Sp_billno = payable.Orderid;

                    //交易日期
                    //md5pay.Date = DateTime.Now.ToString("yyyyMMdd");

                    //交易标识
                    md5pay.Attach = payable.Orderid;

                    //財付通交易号,需保证此订单号每天唯一,切不能重复!
                    md5pay.Transaction_id = md5pay.Bargainor_id + md5pay.Date + md5pay.UnixStamp();

                    md5pay.Spbill_create_ip = Page.Request.UserHostAddress;

                    string url = "";
                    if (!md5pay.GetPayUrl(out url))
                    {
                        return;
                    }
                    else
                    {
                        /*在这里可以把
                         * 交易单号			md5pay.Transaction_id
                         * 商户订单号		md5pay.Sp_billno
                         * 订单金额			md5pay.Total_fee
                         * 等信息记入数据库.
                         * */
                        pl.UserName = Page.User.Identity.Name;
                        pl.OrderID = payable.Orderid;
                        pl.TransactionId = md5pay.Transaction_id ;

                        pl.MoneyPay = payable.Money;
                        pl.PayTime = DateTime.Now;
                        pl.Platform = "财付通";
                        pl.CallBackMethod = payable.CallBackMethodName;
                        pl.PaymentNum = paymentnum;
                        pl.CreateAndFlush();


                        //Response.Redirect(url);

                        tpl.SetValue("md5pay", url);

                    }


                    break;

            }


            Session.Remove(paymentnum);

            output = tpl.Process();
            Response.Write(output);

            Response.End();
            
        }
    }


    #region IPostBackEventHandler 成员

    public void RaisePostBackEvent(string eventArgument)
    {
        SelectPlatform();
    }

    #endregion

    #region IActionable 成员

    public IList<ModuleAction> GetCommands()
    {
        IList<ModuleAction> result = new List<ModuleAction>();
        result.Add(new ModuleAction("查看支付记录", "PaymentLog", EditUrl("PaymentLog")));
        return result;
    }

    #endregion
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -