• 微信支付----维权接口开发!


    最近比较忙,没多少时间写!所以这篇可能比较乱,请理解。。

    1.你需确定维权URL通知地址;

       在“商户功能→商户信息→修改→维权通知URL”查看维权通知URL。(区分大小写)

       

    2.添加用户维权入口

      在服务号自定义菜单添加名称叫“维权”的菜单,该菜单不分层级,不分位置,微信自动跳转到维权页面。。

    3.获取维权通知XML数据。

      在ResponseHandler类(微信支付----没我想的那么难)添加获取XML参数的方法:

     /**获取XML参数**/
            public string getMpParameter(string parameter) {
                string s = (string)xmlMap[parameter];
                return (null == s) ? "" : s;
            }

    在URL通知页面获取数据:

     if (!IsPostBack) {
                //创建支付应答对象
                ResponseHandler resHandler = new ResponseHandler(Context);
                resHandler.init();
                resHandler.setKey(TenpayUtil.key, TenpayUtil.appkey);
                //判断签名
                if (resHandler.isWXsignfeedback()) {
                    string AppId = resHandler.getMpParameter("AppId");
                    string TimeStamp = resHandler.getMpParameter("TimeStamp");
                    string OpenId = resHandler.getMpParameter("OpenId");
                    string AppSignature = resHandler.getMpParameter("AppSignature");
                    string MsgType = resHandler.getMpParameter("MsgType");
                    string FeedBackId = resHandler.getMpParameter("FeedBackId");
                    string TransId = resHandler.getMpParameter("TransId");
                    string Reason = resHandler.getMpParameter("Reason");
                    string Solution = resHandler.getMpParameter("Solution");
                    string ExtInfo = resHandler.getMpParameter("ExtInfo");
                    string SignMethod = resHandler.getParameter("SignMethod");
                    string txt = string.Empty;
                    if (MsgType.ToLower().Trim() == "request") {
                      //新增维权操作
                    }
                    else {
                      //用户确认处理完毕操作
                    }
    
                    //回复服务器处理成功
                    Response.Write("OK");
                    Response.Write("OK:" + resHandler.getDebugInfo());
                }
                else {
                    //sha1签名失败
                    Response.Write("fail");
                    Response.Write("fail:" + resHandler.getDebugInfo());
                }
                Response.End();
            }

    4.申请消除投诉

     如您已经跟客户达成一致,可申请消除用户投诉!

    /// <summary>
        /// 向微信发送撤销投诉申请
        /// </summary>
        /// <returns></returns>
        private void MessageToTx(string accessToken, string openId, string feedBackId) {
            string url = "https://api.weixin.qq.com/payfeedback/update?access_token={0}&openid={1}&feedbackid={2}";
            url = string.Format(url, accessToken, openId, feedBackId);
            HttpWebRequest webRequest2 = (HttpWebRequest)WebRequest.Create(url);
            webRequest2.ContentType = "text/html; charset=UTF-8";
            webRequest2.Method = "GET";
            webRequest2.UserAgent = "Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1";
            HttpWebResponse httpWebResponse2 = (HttpWebResponse)webRequest2.GetResponse();
            StreamReader swRead = new StreamReader(httpWebResponse2.GetResponseStream(), System.Text.Encoding.GetEncoding("UTF-8"));
            Write(swRead.ReadToEnd());
        }

    至此维权接口已经开发完成,可申请全网支付,注意开启全网支付,不受白名单限制!

    群号:87742911 大家可以一起交流

  • 相关阅读:
    Shadow SSDT详解、WinDbg查看Shadow SSDT
    两种方法获取shadow ssdt
    r0遍历系统进程方法总结
    枚举PEB获取进程模块列表
    用户层获取TEB PEB结构地址 遍历进程模块.doc
    Process32First 返回FALSE的原因
    windows内核需要注意的
    hive中遇到的问题
    解读:计数器Counter
    hadoop System times on machines may be out of sync. Check system time and time zones.
  • 原文地址:https://www.cnblogs.com/True_to_me/p/3663736.html
Copyright © 2020-2023  润新知