微信支付:JSAPI或APP拉起支付,return_msg=签名错误

2023-10-27

1. 发送给微信的参数xml, 下图中的商户key就是微信后台设置的appsecret

2. 复制到 微信支付接口签名校验工具,  本文适用如下图是检测通过的

如果跟我一样, 检测通过了, 但下单接口仍返回 "签名错误", 唯一的问题就是:

签名方法传的key用的是appsecret, 而正确的应该用支付总账户的api密钥,

// 从数据库获取微信支付配置(换成自己的配置来源即可)
        WxPayConfig wxPayConfig1 = wxPayConfigMapper.selectById(wxId);
// payKey就是支付总账户的api密钥
        String payKey = wxPayConfig1.getApiKey();
        
        SortedMap<Object, Object> paramMap = new TreeMap<Object, Object>();
        paramMap.put("appid", wxPayConfig.getAppId());//公众号ID
        paramMap.put("mch_id", wxPayConfig.getMchId());//商户号
        paramMap.put("nonce_str", RandomUtil.createRandomString(32));//32位随机字符串
        paramMap.put("body", body);//商品描述
        paramMap.put("out_trade_no", out_trade_no);//商户订单号
        paramMap.put("total_fee", StringUtils.substringBefore(String.valueOf(total_fee.multiply(new BigDecimal(100))), "."));//设置交易金额 金额为分
        paramMap.put("spbill_create_ip", ipInfoUtil.getIpAddr(request));// 发起请求的客户机IP
        paramMap.put("notify_url", notifyUrl);//通知地址
        paramMap.put("sign_type", "MD5");//通知地址
        paramMap.put("trade_type", "JSAPI");//支付方式 小程序支付
        paramMap.put("openid", openid);//微信用户在商户对应appid下的唯一标识,trade_type=JSAPI时(即JSAPI支付),此参数必传
        paramMap.put("sign", SignUtil.createSign(paramMap, payKey));// 签名

图下的appsecret是校验工具用来验证签名的,而apikey是下单接口签名用的

apikey是对应微信支付平台的,而微信支付平台可以绑定小程序和app,小程序或app调用统一下单时,参数sign,创建签名时传入的apikey就是它,千万不要传appsecret,我就是因为这个原因导致签名错误。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信支付:JSAPI或APP拉起支付,return_msg=签名错误 的相关文章

  • 【微信小程序】微信小程序支付功能实现

    1 前言 微信小程序支付 开启新一代便捷支付新时代 随着互联网技术的不断发展 微信小程序支付已经成为了人们日常生活中不可或缺的一部分 微信小程序是一种无需下载安装即可使用的应用 用户可以通过微信扫描或搜索关键词来打开并使用 而微信小程序支付
  • config:fail,invalid signature

    微信开发调用JS SDK某些页面报config fail invalid signature 注意 是某些页面才会报这个错误 导致 wx config 失败 百思不得解 看了几遍文档 确认url是页面完整的url 请在当前页面alert l
  • 微信支付:JSAPI或APP拉起支付,return_msg=签名错误

    1 发送给微信的参数xml 下图中的商户key就是微信后台设置的appsecret 2 复制到 微信支付接口签名校验工具 本文适用如下图是检测通过的 如果跟我一样 检测通过了 但下单接口仍返回 签名错误 唯一的问题就是 签名方法传的key用
  • H5跳转微信小程序-成功案例(VUE)(踩坑无数)

    这里写自定义目录标题 准备工作 根据官方提供的资料需准备以下几点 1 已认证的服务号 2 绑定JS接口安全域名 在微信公众平台设置 3 IP白名单 在微信公众平台设置 4 将小程序和H5公众号进行关联 在微信公众平台设置 5 页面path和
  • 微信开发 config:invalid url domain

    当遇到config invalid url domain 有2种可能 1 没有配置url 2 url配置错误 配置url如http write blog csdn net 就要这样配置write blog csdn net 1 配置url
  • 微信小程序wx.request请求服务器json数据并渲染到页面

    微信小程序的数据总不能写死吧 肯定是要结合数据库来做数据更新 而小程序数据主要是json数据格式 所以我们可以利用php操作数据库 把数据以json格式数据输出即可 现在给大家讲一下微信小程序的wx request请求服务器获取数据的用法
  • 今天在做微信分享功能的时候,遇到项目部署后出现 config:invalid url domain 弹窗提示的解决办法

    产生此错误的原因是微信公众号后台配置的微信安全网址跟当前页面的域名不一致导致的 要解决这种情况就需要在公众号的后台设置js接口安全域名 打开微信公众平台 把MP verify sfpa0ES1106ZRXnp txt 这个文件放到你的服务器
  • 微信小程序获取周围iBeacon设备的步骤

    startBeaconDiscovery接口返回success表示是开始搜索周边指定UUID的beacon设备 不代表可以检测到beacon设备信号 如果start成功后能收到 onBeaconUpdate 回调并获取到设备信息 才是搜索到
  • 微信小程序如何用setData修改data中的数据

    wx request url url data classid classid header content type application json success function res console log res data 打
  • 2022微信小程序填充昵称头像 open-type=“chooseAvatar“

    2021年7月份之后 微信开始加强对微信用户个人信息的安全防控 收回了相关服务端接口 微信后面也推出了前端填写昵称头像的方法 官方代码如下
  • 进军微信第一步:接入微信JS-SDK

    前言 某天 接到这么一个需求 自定义微信网页分享出来的标题 描述和图标 以前没玩过这个 感觉应该很简单 动手了之后 躺过各种坑才知道并没那么容易 完全独立研究排错 感受颇多 分享出来给大家铺一铺路 一 需求来源 开发了一个移动端H5活动页面
  • 微信小程序开发(九):使用扩展组件库

    前端开发中离不开各种组件库 我最先接触的组件库还是Bootstrap 后来工作中又陆续使用了inoic ng zorro等各种不同的库 在微信小程序开发中也有多种组件库 这里记录其中几种不同组件库的使用方法 WeUI 这是微信官方推出的一款
  • 微信公众平台错误代码40164的解决方案

    获取微信公众号授权失败 请稍后重试 公众平台返回原始数据为 错误代码 40164 错误信息 invalid ip not in whitelist hint 59FKqA0797e514 错误解释 调用接口的IP地址不在白名单中 请在接口I
  • 玩一玩微信公众号开发(二) 管理凭据和自定义菜单

    管理access token access token介绍 在前面我们成功的使用了Spring Boot Web程序和微信对接 但是这仅仅是一个开始 我们还需要获取access token 也就是凭据 才能进行之后的工作 微信开发文档有如下
  • 微信错误码:"errcode":40003 解决方法汇总

    一 问题描述 最近公司在搞微信小程序开发 然后自己负责一个小程序的模板消息发送 调用其中的 https api weixin qq com cgi bin message wxopen template send access token
  • 微信公众号第三方平台开发,零基础入门。想学我教你啊

    在学习微信第三方平台开发之前你应该会的 1 常用接口测试工具的使用 postman 2 学会看第三方平台文档 这个很关键 不过很多还是喜欢百度 白嫖别人的操作文档 3 学习排查问题 分析问题 4 第三方平台的限制 和公众号 订阅号这些关系要
  • 微信群发图文消息步骤说明

    前段时间学习微信接口开发 心得与大家分享 第一步 调用 上传下载多媒体接口 上传图片 接收微信服务器返回结果 解析获取返回的url的值 等待备用 第二步 调用 上传图文消息素材 接口 截图中红色方框标记的thumb media id的值替换
  • errcode = 40163; errmsg = "code been used"(提供一种解决思路)

    最近在做微信开发 就在开发完毕测试的时候 遇到一个大问题 每次新用户进入的时候就报错 错误基本上就是code been used 我去百度了好久 没有找到合适的方案 后来我仔细的看了一下微信开发文档 终于解决了 注 该方法不一定对所有人有效
  • Java企业微信开发_01_接收消息服务器配置

    一 准备阶段 需要准备事项 1 一个能在公网上访问的项目 见 Java微信公众平台开发01本地服务器映射外网 http www cnblogs com shirui p 7308856 html 2 一个企业微信账号 去注册 https w
  • 微信api ----统一下单

    应用场景 除被扫支付场景以外 商户系统先调用该接口在微信支付服务后台生成预支付交易单 返回正确的预支付交易回话标识后再按扫码 JSAPI APP等不同场景生成交易串调起支付 状态机 支付状态转变如下 接口链接 URL地址 https api

随机推荐

  • Android中的列表树形展示,AndroidTreeView的使用动态设置树形结构

    1 在项目中用到了这个控件 展示并选择某公司的部门 但是在使用过程中又出一个问题 我并不知道该公司有几个部门 部门下面是否有子部门 2 实现步骤如下 开发工具 Android studio 在项目中添加依赖 compile com gith
  • Android 10.0 修改SystemUI下拉QSPanel功能开关的显示顺序

    1 概述 在10 0的系统产品开发中 在对SystemUI下拉展开时 原生SystemUI会对下拉快捷功能键顺序排序 而 产品需求要求在QSPanel的功能开关顺序需要做调整 也就是要修改config xml中的显示顺序 然后在加载QSPa
  • STM32自带RTC时钟

    上面是我的微信和QQ群 欢迎新朋友的加入 没有使用32M的那个时钟 正确的应该是用那个的 现在的配置只是让RTC跑起来 生成工程 自动给我声明了两个结构体 打开结构体 看到的是一些跟时间相关的东西 找到四个函数 读取和设置时间日期 进入大循
  • XSS-labs-level4详解

    访问题目url 直接经典代码起手 查看界面回显发现表单中的尖括号都消失了 我们直接去看源代码
  • 单片机电子时钟的设计(期末课程设计)

    题目 单片机电子时钟的设计 设计一个时钟 可以正常显示时分秒 也可以通过按键改变分钟和小时 且有整点提醒功能 1 能够正常计时并且能够显示小时 分钟 秒 10分 1 正常显示秒 2分 2 正常显示分 2分 3 正常显示时 2分 4 秒进位至
  • ULAM公链第七十六期工作总结

    ULAM公链第七十六期工作总结 那些看上去光鲜的人背后一定经历过万千烦恼 没有谁的成功都是一蹴而就的 你受的委屈 摔的伤痕 背的冷眼 别人都有过 他们身上有光 是因为扛下了黑暗 生活给了一个人多少磨难 日后必会还给他多少幸运 为梦想颠簸的人
  • 设计模式之四 --- 建造(Builder)模式

    1 基本概念 建造 Builder 模式是一种对象构建的设计模式 它可以将复杂对象的建造过程抽象出来 抽象类别 使这个抽象过程的不同实现方法可以构造出不同表现 属性 的对象 2 简单分析 我们先来看一下该设计模式的UML结构图 上图是Str
  • align-content、justify-content、align-items三个属性的作用和效果

    一 align content属性 作用 设置同一列子元素在Y轴的对齐方式 属性值 描述 flex start 排列在当前列的最上方 flex end 排列在当前列的最下方 center 排列在当前列的中间位置 space between
  • C++学习(三十二)初始化列表

    从概念上来讲 构造函数的执行可以分成两个阶段 初始化阶段和计算阶段 初始化阶段先于计算阶段 初始化阶段 所有类类型 class type 的成员都会在初始化阶段初始化 即使该成员没有出现在构造函数的初始化列表中 计算阶段 一般用于执行构造函
  • 使用open3d将obj格式转为pcd格式并保存(模型转点云)

    import open3d as o3d mesh o3d io read triangle mesh bunny obj pcd mesh sample points uniformly number of points 10000 o3
  • H5 video 播放器demo

    H5 video 播放器demo 前言 最近在做一个wap端的项目 需要视频播放功能 大家也知道wap对flash支持很差 所以优先考虑使用h5播放器video 在这里我介绍用video实现视频播放方法 之后在介绍几个插件和第三方视频实现方
  • 如何在 Rust 中运行 Lua 程序

    在Rust中 你可以使用rust lua这个库来运行Lua程序 下面是一个简单的例子 首先 将 rust lua 添加到你的 Cargo toml 文件中 dependencies rust lua 0 36 然后 在你的Rust代码中 你
  • VS C++ 程序运行错误: 0xc0...07b错误等

    问题1的出现 找不到动态库 解决方式 这个问题就是你需要找到这个动态库 并且放到exe目录同级目录 问题2的出现 今天在使用动态库的时候发现了一点问题 就是我修改了我原来的库文件 当我在另外的项目中使用的时候 我只进行了lib库和头文件的替
  • Linux中find命令基本使用方法

    Linux中find命令是系统中查找文件的命令 可以帮助用户快速找出自己所需要的文件 通过文件名查找 find name 文件名 find etc name passwd 查找 etc目录下的passwd 通过文件嵌套层数查找 find m
  • python画图数据的平均值怎么算的_绘图平均值和标准偏差

    Demo of errorbar function with different ways of specifying error bars Errors can be specified as a constant value as sh
  • Matlab利用模拟退火算法求解旅行商(TSP)问题

    简介 先引入一个例题 旅行商问题 TSP 假设有一个旅行商人要拜访n个城市 已知这n个城市的坐标 他必须选择所要走的路径 路径的限制是每个城市只能拜访一次 而且最后要回到原来出发的城市 路径的选择目标是要求得的路径路程为所有路径之中的最小值
  • git 查看/修改用户名、密码

    用户名和邮箱地址的作用 用户名和邮箱地址是本地git客户端的一个变量 不随git库而改变 有朋友说这里没有git修改密码的 特意在这里补充一下 git config global credential helper store 输入这个命令
  • dup2函数:复制文件描述符示例

    dup函数用于复制文件描述符 这样使得两个描述符指向同一个文件 这就类似于linux中的硬链接 此时内核会在内部维护一个计数为2 如果关闭其中一个不能真正的关闭文件 当计数为0时即两个文件描述符都被关闭 这个文件才真正被关闭 dup2函数作
  • LeetCode打卡——62.不同路径

    LeetCode打卡 62 不同路径 题目描述 一个机器人位于一个 m x n 网格的左上角 起始点在下图中标记为 Start 机器人每次只能向下或者向右移动一步 机器人试图达到网格的右下角 在下图中标记为 Finish 问总共有多少条不同
  • 微信支付:JSAPI或APP拉起支付,return_msg=签名错误

    1 发送给微信的参数xml 下图中的商户key就是微信后台设置的appsecret 2 复制到 微信支付接口签名校验工具 本文适用如下图是检测通过的 如果跟我一样 检测通过了 但下单接口仍返回 签名错误 唯一的问题就是 签名方法传的key用