收藏
回答

wx.openCard(object)得到Code解密失败!请管理员尽快解决!!

参数说明:

access_token:是公众号的access_token

encrypt_code:是通过wx.addCard()得到的code的值,


具体的代码如下:

 public static string DecryptCode(string access_token, string encrypt_code)

        {

            var url = string.Format("https://api.weixin.qq.com/card/code/decrypt?access_token={0}", access_token);

            var client = new HttpClient();

            var sb = new StringBuilder();

            sb.Append("{")

                .Append('"' + "encrypt_code" + '"' + ":").Append(encrypt_code)

                .Append("}");

            var result = client.PostAsync(url, new StringContent(sb.ToString())).Result;          

            return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);

        }


但是最终报错:微信Post请求发生错误!错误代码:40075,说明:invalid encrypt code hint: [_wDofA0309e569]


回答关注问题邀请回答
收藏

10 个回答

  • 工号 9527
    工号 9527
    2017-06-27

    urlEncode ?

    2017-06-27
    有用
    回复
  • 工号 9527
    工号 9527
    2017-06-26

    你的json没拼对吧,少了 ""

    2017-06-26
    有用
    回复
  • Joney·余🐠💦
    Joney·余🐠💦
    2020-04-13

    我这边也是经常遇到这样的接口调用异常!尝试过把encrypt_code及activate_ticket都进行Uri.UnescapeDataString(encrypt_code);

    结果还是会有CardApi.CardDecryptNew:invalid encrypt code,或者CardApi.GetActivateTempInfoNew:invalid activate_ticket.Maybe this ticket is not belong this AppId 的错误出现。

    之前有人说是因为%2f,%3d,%4xxx...这类似的字符码没有转码的原因

    求大佬给个说法!

    2020-04-13
    有用 1
    回复
  • sin
    sin
    2017-06-27

       

    2017-06-27
    有用 1
    回复
  • sin
    sin
    2017-06-27

     [HttpGet]

            public HttpResponseMessage GetCardCode(string token,string code)

            {

                #region 测试数据

                //token = "zsLIUhQps3Ujrap3md2Kti4wm2AcCw9Uqkq3Wtp1S50Ihycvu8pOWc6i-F-XtU8lKRClyO5N65ka4ANR7KjUOTGa0InixAnfosXJ_H3cDS3a-GcgKK3KA6ps9Jy-MDZbDGQeABAUXH";

                //code = "FLAVtRdqE4aP+eYIeIyhFzk6qN0sB0Abahayq+pxbbU=";            

                #endregion

                var url = string.Format("https://api.weixin.qq.com/card/code/decrypt?access_token={0}", token);

                var client = new HttpClient();

                var sb = new StringBuilder();

                sb.Append("{")

                    .Append('"' + "encrypt_code" + '"' + ":").Append('"' + code + '"')

                    .Append("}");

                var result = client.PostAsync(url, new StringContent(sb.ToString())).Result;

                var data = DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);

                return ReturnHttpResponse(JsonConvert.SerializeObject(data));

         }

    后台写死的测试数据是可以的!但是通过微信小程序传递过去的参数报错!提示代码如下:

    40075:invalid encrypt code hint!

    微信小程序请求的代码如下:

      wx.request({

              url: url + '/api/DataApi/GetCardCode?token=' + getApp().globalData.gzhaaccess_token+'&code=' +cardcode,

              data: {},

              header: { 'Content-Type': 'application/json' },

              success: function (res) {

    }})

    这个请求哪里有错误吗?请管理员给出解决的方案!!!


    2017-06-27
    有用
    回复
  • sin
    sin
    2017-06-27

    接口后台测试正确!但是通过web编辑器传过去测试就是错误!提示为40075: invalid encrypy code hint!

    2017-06-27
    有用
    回复
  • sin
    sin
    2017-06-27

    使用postman进行的测试!一样的错误提示!

    2017-06-27
    有用
    回复
  • sin
    sin
    2017-06-26

    请管理员解答!!

    encrypt_code?难道不是通过wx.addCard()成功知道得到的code的值吗?


    2017-06-26
    有用
    回复
  • sin
    sin
    2017-06-26

    请管理员解答!!

    encrypt_code?难道不是通过wx.addCard()成功知道得到的code的值吗?

     


    2017-06-26
    有用
    回复
  • sin
    sin
    2017-06-26

    encrypt_code?难道不是通过wx.addCard()成功知道得到的code的值吗?

    2017-06-26
    有用
    回复
登录 后发表内容