现在微支付的需求越来越多,最近刚接到一个需要微支付的项目,于是身为程序猿的我拿到最新的微信支付接口文档(3.3.6)就开始研究微信支付。本以为应该跟支付宝差不多的感觉结果被坑了。恕在下无能,在微信签名弄了两天都没有弄好,一直看着报错签名验证错误,查看网上分享的都是2.X的版本,方法完全变了,于是只能硬着头皮自己细读文档,检查任何一个可能会出现的错误。还是没有解决问题。后来在网上遇到一个大侠,我把我的代码发到给他,然后我按照他告诉我的方式修改,到现还是没有实现。 希望哪位大侠能帮助我一下。
我把问题详细描述一下:
1. 我已经实现了前面的几个步骤,能拿到预支付 ID:prepay_id;
2. 当我利用JSAPI 支付,提示“该公众号支付签名无效,无法发起该笔交易”。文档中的签名没有详细说明,问了好多朋友和网友,都遇到类似的问题。希望腾讯能把签名的这个地方的文档写的详细点。能按照腾讯的文档做出来的。那简直就是牛人。警告腾讯的人(幸亏当前没去腾讯),他妈的。做人要有厚道,那么粗糙的文档就拿出来,不是大公司的作为。
我的签名如下:
function getAppId() {
return $("#appId").val();
}
function getSignType() {
return "MD5";
}
function getPackage() {
return "prepay_id=" + $("#prepay_id").val();
}
var signString;
function getSign() {
signString = "appId=" + getAppId() + "&nonceStr=" + $("#nonceStr").val() + "&package=" + getPackage() + "&signType=" + getSignType() + "&timeStamp=" + getTimeStamp() + "&key=" + getKey();
return CryptoJS.MD5(signString).toString().toUpperCase();
}

我也附上我调试打印的日志.




经过大侠们的指点,今天早上终于成功。谢谢各位大侠。最后还是希望腾讯这样的大公司把文档写的详细点。不要坑害人。


【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?