中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

微信掃(sao)碼支付(fu)~官方(fang)DEMO的坑(keng)~參數不能自定義

返回目錄

由(you)于微信在校驗參(can)(can)數(shu)時采用(yong)了“微信服務端”校驗,它(ta)(ta)的參(can)(can)數(shu)是(shi)前期定(ding)義(yi)好的,所以用(yong)戶不能自(zi)己添加自(zi)定(ding)義(yi)的參(can)(can)數(shu),你可(ke)以把參(can)(can)數(shu)寫在Attach字(zi)段時,作為(wei)它(ta)(ta)的附加參(can)(can)數(shu)。

參(can)數和返(fan)回(hui)值定(ding)義如下:

    public class NotifyResult : ResultBase
    {
        public NotifyResult(ResultBuilder resultBuilder)
            : base(resultBuilder)
        { }
        /// <summary>
        /// 設備號
        /// </summary>
        public string Device_Info { get { return GetValue("device_info"); } }
        /// <summary>
        /// 用(yong)戶標識
        /// </summary>
        public string OpenId { get { return GetValue("openid"); } }
        /// <summary>
        /// 是否關注公眾號
        /// </summary>
        public bool Is_Subscribe { get { return GetBooleanValue("is_subscribe"); } }
        /// <summary>
        /// 交易類型
        /// </summary>
        public TradeType Trade_Type { get { return (TradeType)GetEnumValue<TradeType>("trade_type"); } }
        /// <summary>
        /// 付款銀行
        /// </summary>
        public string Bank_Type { get { return GetValue("bank_type"); } }
        /// <summary>
        /// 總(zong)金額
        /// </summary>
        public int Total_Fee { get { return GetIntValue("total_fee"); } }
        /// <summary>
        /// 現金券金額
        /// </summary>
        public int Coupon_Fee { get { return GetIntValue("coupon_fee"); } }
        /// <summary>
        /// 貨幣種類  貨幣類型(xing),符合 ISO 4217標準的三位字母代(dai)碼,默認人(ren)民幣:CNY
        /// </summary>
        public string Fee_Type { get { return GetValue("fee_type"); } }
        /// <summary>
        /// 微信支(zhi)付訂單號
        /// </summary>
        public string Transaction_Id { get { return GetValue("transaction_id"); } }
        /// <summary>
        /// 商(shang)戶訂單號
        /// </summary>
        public string Out_Trade_No { get { return GetValue("out_trade_no"); } }
        /// <summary>
        /// 商家(jia)數據包
        /// </summary>
        public string Attach { get { return GetValue("attach"); } }
        /// <summary>
        /// 支付完成(cheng)時間
        /// </summary>
        public string Time_End { get { return GetValue("time_end"); } }
        /// <summary>
        /// 產品ID
        /// </summary>
        public string Product_Id { get { return GetValue("product_id"); } }
  
    }

基本這些已經夠用了,如(ru)果你的業務需要其它信(xin)息(發到微信(xin)再(zai)發回來),直(zhi)接寫到Attach里即(ji)可(ke)。

統一的回(hui)調封裝

下面代(dai)碼是大叔(shu)Lind框架(jia)對微(wei)信模塊(kuai)的封裝(zhuang),體現了(le)自(zi)定義參數的作用

     /// <summary>
        /// 微信回調
        /// </summary>
        public string WeixinNotify()
        {
            Lind.DDD.Logger.LoggerFactory.Instance.Logger_Info("微(wei)信(xin)Callback");
            WxPaymentConfig wxPaymentConfig = new WxPaymentConfig();
            WxPayImpl wxPayImpl = new WxPayImpl(wxPaymentConfig);

            string Msg = wxPayImpl.RecieveWxPayNotify((notify) =>
            {
                int projectId;
                int.TryParse(notify.Attach, out projectId);
                string fullName = Db.Project_Modules.Where(i => i.Id == projectId).FirstOrDefault().FullName;
                taskInfoProvider = Lind.DDD.Plugins.PluginManager.Resolve<ITaskInfoProvider>(fullName);

                taskInfoProvider.Pay_Callback(new PayCallbackParams
                {
                    OrderId = notify.Out_Trade_No,
                    TradeId = notify.Transaction_Id
                });
            }, (msg) =>
            {
            });
            return Msg;
        }

 

返回目錄

posted @ 2016-11-08 10:06  張占嶺  閱讀(4035)  評論(0)    收藏  舉報