微信JSAPI支付提示支付签名验证失败、jsapi缺少参数 total_fee、当前url未注册问题的解决方法
2023-09-11 14:19:35 时间
一、支付签名验证失败问题
微信官方提供的JSAPI发起支付中对签名的描述并不是很清楚,详见:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6
找了很多资料才找到具体的签名方法,希望对大家有用。
$data2['timeStamp']=time(); $data2['appId']=$config['app_id']; $data2['nonceStr']=$nonce_str; $data2['package']="prepay_id=".$result['prepay_id']; $data2['signType']="MD5"; $data2['paySign']= $wxpay->createMd5Sign($data2);
要注意的是 参与签名的prepay_id,必须是 prepay_id=**** 的格式。
二、jsapi缺少参数 total_fee
wx.chooseWXPay({ timestamp: 0, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 nonceStr: '', // 支付签名随机串,不长于 32 位 package: '', // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*) signType: '', // 微信支付V3的传入RSA,微信支付V2的传入格式与V2统一下单的签名格式保持一致 paySign: '', // 支付签名 success: function (res) { // 支付成功后的回调函数 } });
另外在微信浏览器发起微信支付时,package的格式要求也为 prepay_id=**** ,如果不是,则会出现 JSAPI缺少参数 total_fee 的问题
三、当前url未注册
当前url未注册 的问题需要登陆微信支付商户中,产品》JSAPI中设置支付授权目录 即可。设置要求为 https://www.alipay.com/pay/ 到你支付的上级目录就行
相关文章
- 微信小程序 iphone6 和 iphone6plus 如何设置rpx单位,通俗易懂的方法
- 微信本地调试方法
- 微信分享网页链接缩略图不显示解决方法
- java中eclipse控制台接受输入的方法
- 微信小程序开发系列 (三) :微信小程序如何响应用户点击事件和微信平台 API 的使用方法介绍
- Atitit 编程语言编程方法的进化演进 sp COP ,AOP ,SOP
- Atitit.视频文件加密的方法大的总结 java c# php
- uniapp微信小程序拿来即用的瀑布流布局demo1(方法一)(复制粘贴即可使用,无需做其他处理)
- 回到顶部功能:uniapp微信小程序回到顶部的几种方法
- XShell学习&XShell的使用方法
- Py之cx_Freeze:cx_Freeze简介(程序打包软件)、安装、使用方法、案例应用(实现机器人在线24小时智能翻译软件打包)之详细攻略
- m基于matlab的PCM-FM码同步和GMSK的调制和解调方法,包括多符号检测MSD和Turbo编解码
- 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )
- [0] C# 扩展方法(Extension Method)
- 个人微信小程序可以使用微信支付的解决方法
- 2021前端常见面试题必考必问:JS中null和undefined与NaN的判断方法和区别?
- pinia入门安装与基本使用方法