zoukankan      html  css  js  c++  java
  • [转载]维权接口

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

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

       \

    2.添加用户维权入口

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

    \

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

      在ResponseHandler类(微信支付----没我想的那么难:http://www.2cto.com/weixin/201408/323334.html )添加获取XML参数的方法:

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

    在URL通知页面获取数据:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    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.申请消除投诉

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    /// <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());
        }

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

  • 相关阅读:
    ArrayList集合封装 类 并通过方法调用
    ArrayList集合的基本操作
    方法的重复定义和重载
    方法间值的传递,二维数组的定义和遍历
    赋值运算,逻辑运算符,引用数据类型
    Javase;jdk的安装调试;基础语法和变量以及基础数据类型
    E-R画图规则和数据库设计的三大范式
    sql多表查询和子查询
    sql约束的使用
    sql表操作的基础语法
  • 原文地址:https://www.cnblogs.com/rockchen/p/4442215.html
Copyright © 2011-2022 走看看