今天做微信免密支付签约的时候,一直报entrustweb_sign参数结构错误,调了一天,反复核对参数发现没问题,比对生成的sign(签名)也是一致的。

【推荐一下微信官方接口调试工具来生成签名做比对:微信公众平台支付接口调试工具】;

后来反复读文档:

文档上签名算法是这样的。签约的文档部分有一部分非常重要,如下图(注意标注部分):

回调地址是要进行encode处理,但是生成签名的时候传进去的notufy_url是原值。(我就是在这个坑里待了一天)

还有就是此处的时间戳一定是10位。

下面看代码:

/**
 * @Author : lilong
 * @Description :微信支付签约
 * @Date : 10:40 2018/5/3
 **/
public static String wxContract() throws Exception {//签名所需要的参数
    String appid = "wx05c*********";String mch_id = "14847****";String plan_id = "120***";String contract_code = "100000";Integer request_serial = 1000;String contract_display_account = "wechatPay";String notifyUrl =  "http://192.168.*.**:8080/mvc/callbackContract";//回调地址需要encode,但是生成签名的时候传进去的是源值
    String notify_url = java.net.URLEncoder.encode(notifyUrl);String version = "1.0";//时间戳是10位
    String timestamp =String.valueOf( new Date().getTime()/1000);// SortedMap<Object,Object> signMap = new TreeMap<Object,Object>();
    Map<String,String> signMap = new TreeMap<>();signMap.put("appid", appid);signMap.put("mch_id", mch_id);signMap.put("plan_id",plan_id);signMap.put("contract_code",contract_code);signMap.put("request_serial",request_serial.toString());signMap.put("contract_display_account",contract_display_account);signMap.put("notify_url",notifyUrl);signMap.put("version",version);signMap.put("timestamp",timestamp);System.err.println(timestamp);String sign = createSign(signMap);String url = "https://api.mch.weixin.qq.com/papay/entrustweb?appid=" + appid+ "&contract_code=" + contract_code + "&contract_display_account="
            + contract_display_account + "&mch_id=" + mch_id + "&notify_url=" +notify_url + "&plan_id=" + plan_id + "&request_serial=" + request_serial+ "&timestamp=" + timestamp + "&version=" + version + "&sign=" + sign;System.err.println("*************" + url + "***********");return url;
}

微信签约的时候参数正确但一直报错——entrustweb_sign参数结构错误相关推荐

  1. 微信登录报错Scope 参数错误或没有 Scope 权限

    想要实现微信扫码登录 https://open.weixin.qq.com/connect/qrconnect?appid=appid&redirect_uri=redirect_uri&am ...

  2. Mybatis中sql语句报错无效参数类型问题

    报错mybatis无效参数类型问题,mybatis中sql语句的参数,如果这个参数可以为空,那么则必须添加jdbcType,否则将报错无效参数类型. Mybatis文档中有如下解释: 像 MyBati ...

  3. laravel 提交Request 请求后会莫名多出一个s参数,导致数据库报错问题的解决方法

    项目场景: apache运行laravel框架开发的系统. 问题描述: 提交post或者其他请求,会在request中存在s参数,导致数据库报错. 原因分析: apache的.htaccess文件中的 ...

  4. 淘宝联盟 推广链接 API取链 转链报错 传入参数错误,请检查adzone_id是否属于appkey拥有者

    通过之前的取链文章,现在新增渠道时候报错 传入参数错误,请检查adzone_id是否属于appkey拥有者","request_id":"f7vemdro9du ...

  5. 调整k8s的iptable参数时启动生效报错

    调整k8s的iptable参数时启动生效报错 sysctl -p /etc/sysctl.d/kubernetes.conf 报错如下: net.bridge.bridge-nf-call-iptab ...

  6. SpringBoot项目启动报错[类文件具有错误的版本 61.0, 应为 55.0 请删除该文件或确保该文件位于正确的类路径子目录中。]

    Web server failed to start. Port 80 was already in use. Web server failed to start. Port 80 was alre ...

  7. 微信小程序 渲染层网络错误_小程序使用video报错 渲染层网络层错误

    我用官方的文档,就换了个图片和视频地址.报错渲染层网络层错误.视频可以看,功能也可以用,但是看到这报错,台烦人了. https://uniapp.dcloud.io/component/cover-v ...

  8. Python Dataloader 多进程报错 num_workers参数设置

    报错内容:An attempt has been made to start a new process before the current process has finished 该报错一般发生 ...

  9. 微信小程序获取二维码scene报错40129

    java后端向微信服务端https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN请求获取带参二维码的时候,由于 ...

最新文章

  1. 听说英飞凌内推技术岗位有大额奖金
  2. 3D模型格式解析(OBJ)
  3. 在单链表写入一组数据代码_第5章 第1节 链表 - osc_x8s7voop的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. golang之strings
  5. 超级终端连接华为交换机_Win8系统使用超级终端连接华为交换机的方法
  6. 基于Java保险员工管理系统的设计与实现
  7. 7. 堆(宋红康笔记)
  8. 如何在Excel中快速删除空白行
  9. html中如何淡化背景图片,Word2010如何去除图片背景
  10. 高中政治老师教师资格证考试成功通过前辈备考经验分享(2)
  11. Excel调用有道词典实现批量翻译
  12. 08、SpringCloud 系列:Nacos - 安装、启动
  13. 目前 计算机硬件系统,计算机硬件系统练习题.doc
  14. 计算机网络检查方式,一种计算机网络环路检测方法与流程
  15. 埃隆麝香下一件大事是向宽带发射4万颗卫星
  16. 【C++常用函数】整数转字符串itoa()
  17. 【GXOI / GZOI2019】【树链剖分】【线段树】旧词
  18. 学考计算机会考考点工作总结,学业水平测试工作总结.docx
  19. js作为websocket client,服务用java 点对点、一对多聊天
  20. strcmp,stricmp,strcmpi,strncmp,strnicmp,strncmpi,strcat,strncat比较

热门文章

  1. 论文阅读 ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks
  2. 华为设备密码认证模式
  3. lg-1 x 怎么算_婚宴邀请微信怎么写 婚宴邀请微信范文大全
  4. 玩转 Windows Terminal
  5. 我不信只有我自己,曾如此般jingxing
  6. 名编辑电子杂志大师教程 | “文件”菜单介绍
  7. Zigbee(cc2530)和STM32 SPI通信,温度采集,组网
  8. CC2530外围电路若干问题
  9. WPS(Wi-Fi Protected Setup)
  10. apr各个版本工具包下载及安装教程