今天分享一下做支付宝小程序遇到的坑。ISV权限不足,建议在开发者中心检查对应功能是否已经添加。验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配

大家好,我是烤鸭:

    今天分享一下做支付宝小程序遇到的坑。pom版本

  <!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java --><dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>4.5.0.ALL</version></dependency>


1.  ISV权限不足,建议在开发者中心检查对应功能是否已经添加

支付宝对象初始化 发送请求:{"body":"{\"alipay_trade_query_response\":{\"code\":\"40006\",\"msg\":\"Insufficient Permissions\",\"sub_code\":\"isv.insufficient-isv-permissions\",\"sub_msg\":\"ISV权限不足,建议在开发者中心检查对应功能是否已经添加\"},\"alipay_cert_sn\":\"17400e36802cf62df705b4193ae1404f\",\"sign\":\"HJz1WnfP0lvBOAhmuhRNGUCwyDxhlBqLUk13saZlMPD/7NbrMv0vpQnxebUN819y7P+u03l+tnTQ+2G736KJe5t+e58YF2mG+pMfdUhVJZ5+0x8uMFKFvxsRl6u31KzB9cLnbqZ4tKbqiiy0JjQQu5P45vEVqXDgrijeiC6Oi6NyRfIg0/l4jApzKehhT564JKoXLMXLBVWJgcEcn5S0VI1a+aZPDyQlNNiA7nqthFYCEEgnTW7ngIZsZYWoTi5Oec0/MgithfsRZ87uD02mrILThyrMSEUonKUWHDX2WbfUcbV49jndu+T54OkFPR1pC2YHuxGoEvKoTsEkGi71Aw==\"}","code":"40006","errorCode":"40006","msg":"Insufficient Permissions","params":{},"subCode":"isv.insufficient-isv-permissions","subMsg":"ISV权限不足,建议在开发者中心检查对应功能是否已经添加","success":false}

首先说明不是沙箱环境。如果已经在后台申请开通了功能,大概率就是公钥和私钥没对上。由于选择的是公钥证书的方式,初始化的时候指定的是秘钥的地址。
构造代码如下:

        CertAlipayRequest certAlipayRequest = new CertAlipayRequest();certAlipayRequest.setServerUrl(url);certAlipayRequest.setAppId(appId);certAlipayRequest.setPrivateKey(privateKey);certAlipayRequest.setCertPath(appCertPath);certAlipayRequest.setAlipayPublicCertPath(alipayCertPath);certAlipayRequest.setRootCertPath(alipayRootCertPath);certAlipayRequest.setFormat(AlipayConstants.FORMAT_JSON);certAlipayRequest.setCharset(AlipayConstants.CHARSET_UTF8);certAlipayRequest.setSignType(AlipayConstants.SIGN_TYPE_RSA2);logger.info("支付宝对象初始化入参 :{}", JSONArray.toJSONString(certAlipayRequest));alipayClient = new DefaultAlipayClient(certAlipayRequest);

因为重新生成过证书,可能是这个原因,又按照教程搞了一遍证书,初始化可以了。

 

2.  验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配

[ERROR] [http-nio-8082-exec-1] [2019-08-31 11:56:45,189]  logErrorScene(333) | ErrorScene^_^40002^_^isv.invalid-signature^_^null^_^Windows 10^_^2019-08-31 11:56:45^_^ProtocalMustParams:app_cert_sn=0cf5b4f9b473c7101e07100897dd8b0a&charset=UTF-8&alipay_root_cert_sn=687b59193f3f462dd5336e5abf83c5d8_02941eef3187dddf3d3b83462e1dfcf6&method=alipay.trade.query&sign=JMKQzBAP79ZZYNfv/tcQ/4XbC5P7U5pK6Y8WwJwI+kil9EGrJbjC8Xx/xcd9KE8QsL9HBBoP1eYAaDXW0kzybAM77O73jR261ROGDqzDpowh5qrmWjTe7zq1wZTyKjNdlIl3/sT9bMz1r94yA5a/kTmhb8lWMPi1BPswmH6wUfqL+UEqSe22njIHyCGoKd86JV4zmoVT4Fl1c2rXlslq1YFD8DA2DeYQBVDTtRxkiRFtWpqBNGhrAhYcxedZTgcmJdrQIsJD69kXsc2hpkNsh4krUgE/9Q2Vw1LH3GOZwceAMyK8B8//o6584T1n1YkMgaOqU4nvsMpg9ebN8OLR3w==&version=1.0&app_id=2019060365454217&sign_type=RSA2&timestamp=2019-08-31 11:56:43^_^ProtocalOptParams:alipay_sdk=alipay-sdk-java-4.5.0.ALL&format=json^_^ApplicationParams:^_^Body:{"alipay_trade_query_response":{"code":"40002","msg":"Invalid Arguments","sub_code":"isv.invalid-signature","sub_msg":"验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配,网关生成的验签字符串为:alipay_root_cert_sn=687b59193f3f462dd5336e5abf83c5d8_02941eef3187dddf3d3b83462e1dfcf6&amp;alipay_sdk=alipay-sdk-java-4.5.0.ALL&amp;app_cert_sn=0cf5b4f9b473c7101e07100897dd8b0a&amp;app_id=2019060365454217&amp;charset=UTF-8&amp;format=json&amp;method=alipay.trade.query&amp;sign_type=RSA2&amp;timestamp=2019-08-31 11:56:43&amp;version=1.0"},"alipay_cert_sn":"17400e36802cf62df705b4193ae1404f","sign":"jFoLW1CEQTPu20RC08DHLgpBsu690HBlPGCN3V8dGuRE6c+I3VJAlIQ7kA4oiA3geJYwwrUJsAnuzqxwu/kIJemAQKmL9CuoyrN2ZF4MW0IfjFaZK9oYLVOV2YiqTxsMjGj9IGASqF2QbnYVEU7gFyTesOS+rnFCEpUJvZ1nSuvPzTttyQuVJgzHW8BqlRnk64E9a+lvPefQALAWiaDnxKChAMs3/Ikoe7Oi0lmll8V9YrFYVcYBsiF/+5jxBtxxstW9q9ihpi/rahp6wbLTES5KwOWN4MIniAUVQcACDvYfCQMcFeT+WBe171rpXFspjBNOY3DgO4opMeTM2qfV2Q=="}^_^975ms,992ms,197ms

这个问题是真的头疼,感觉公钥和秘钥都对。后来问了支付宝的技术。

在线技术客服网址 :

https://cschannel.alipay.com/newPortal.htm?scene=mt_zczx
他说我的私钥不对。这是公钥证书配置后的。

我用的私钥是开发工具生成的。就是下图的商户应用私钥。其实不对!

应该是点击上面的打开文件夹位置里边有个私钥文件。应该是域名_私钥.txt

 

3.  小程序端在调用 my.getPhoneNumber 时可能只返回 response 不会返回sign

官方的文档说明:  https://docs.alipay.com/mini/api/getphonenumber

  • 请确保已在 小程序后台 > 设置 > 开发设置 中,设置 支付宝公钥aes 秘钥 和 应用网关,aes 相关信息可参见 内容加密接入指引。(若缺失这三个设置,在调用 my.getPhoneNumber 时可能只返回 response 不会返回sign)。
     

果然还是忘记配置应用网关了。。找了客服才发现,配置的一直是支付宝网关。。。应用网关配置白名单的地址就行。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412768.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[css] 举例说明时间、频率、角度、弧度、百分度的单位分别是哪些?

[css] 举例说明时间、频率、角度、弧度、百分度的单位分别是哪些&#xff1f; 时间: s, ms频率: Hz角度: deg弧度: rad百分度: grad个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起…

[洛谷P4918]信仰收集

题目背景 随着各种势力的迁入,守矢神社丧失了不少信仰现在,为了挽回香火日益惨淡的神社,八坂神奈子派遣神社的风祝早苗去人类村落收集信仰 题目描述 你可以将村落看成一个m个点的有向无环图(编号从1−m),其中在某些点上有n簇待收集的信仰(每一簇都有一定的数量),图中有k有向边,…

Will not attempt to authenticate using SASL | dubbo项目启动特别慢,拉取 zookeeper 服务日志打印特别慢

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享一下使用dubbo遇到的几个问题。 1. cause: KeeperErrorCode ConnectionLoss for /dubbo/ xxx 异常如下&#xff1a; pid9965&qos.accept.foreign.ipfalse&qos.enabletrue&qos.port10887&timestamp1567…

[css] 你有用过table布局吗?说说你的感受

[css] 你有用过table布局吗&#xff1f;说说你的感受 用来做列表排版还是很不错的&#xff0c;但是要想用的好&#xff0c;还是要对table有比较多的了解。 比如实现表头固定&#xff0c;表内容超出滚动的效果等个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放…

Java基础——类加载机制

什么叫类加载 JVM把 .class 字节码文件加载到内存&#xff0c;并进行相关的校验、解析、初始化&#xff0c;最终转换为虚拟机可用的JAVA类型的过程&#xff0c;称为JVM类加载机制。 &#xff08;当然&#xff0c;JVM并不关心class文件的来源&#xff0c;什么&#xff1f;什么叫…

redis集群搭建【简版】

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享一下redis集群安装&#xff0c;写的比较简单&#xff0c;就是做个记录。 1. 下载&安装 wget http://download.redis.io/releases/redis-5.0.4.tar.gz tar -zxvf redis-5.0.4.tar.gz 解压并编译 https://redis.io/ 2.…

[css] 说说你对设备像素比的理解

[css] 说说你对设备像素比的理解 DPR 物理像素与逻辑像素的比个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

x-shell 通过堡垒机连接 ssh多个机器 自动化脚本

大家好&#xff0c;我是烤鸭&#xff1a; 1. 连接vpn 这一步就没什么说的了。我们用的easyconnect。登录后弹出堡垒机页面。 easyconnect 官网&#xff1a;https://sslvpn.zjweu.edu.cn/com/installClient.html 2. 登录堡垒机账号 登录堡垒机之后&#xff0c;如图&#xff…

Python 创建和使用类

python创建和使用类的方法如下 # class Dog(): # def __init__(self,name,age): # self.namename # self.ageage # # def sit(self): # print(self.name.title()"is now sitting") # # def roll_over(self): # print(se…

[css] 说下你对cursor属性的理解

[css] 说下你对cursor属性的理解 cursor 是鼠标光标的属性。可以给元素设置不同的cursor属性来使鼠标在不同的位置显示不同的形状。 值 描述 url 需使用的自定义光标的 URL。注释&#xff1a;请在此列表的末端始终定义一种普通的光标&#xff0c;以防没有由 URL 定义的可用光标…

mybatis 执行插入操作,insert 返回1,数据库中无数据。数据库中数据的创建时间和插入执行时间不一致。

大家好&#xff0c;我是烤鸭&#xff1a; 今天记录一下线上的问题&#xff0c;由于不是我们组的代码&#xff0c;所以没参与全程&#xff0c;只是最后有幸听各位大佬探讨解决方案。mybatis 执行插入操作&#xff0c;insert返回1&#xff0c;日志记录和接口返回都正常&#xff0…

敏捷软件开发学习笔记(四)之结构型设计模式

PHP结构型设计模式 参考 设计模式PHP 设计模式全集 2018什么是结构型是设计模式 结构型模式讲的是如何将类和对象按照某种布局组成更大的结构。它分为类结构型模式和对象结构型模式&#xff0c;其中类结构型模式采用继承机制来组织接口和类&#xff0c;其中对象结构型模式采用组…

[css] position的relative和absolute定位原点是哪里?

[css] position的relative和absolute定位原点是哪里&#xff1f; absolute: 定位原点为第一个position不为static的父级元素的左上角。 可以基于该特性实现height:100%生效 relative&#xff1a;定位原点为元素本身的所在位置。 relative的偏移量设置会导致显示效果和定位原点…

javax.mail.MessagingException: while sending message;Connection reset by peer: socket write error

大家好&#xff0c;我是烤鸭&#xff1a; 阿里云邮件推送服务报错。当你也使用阿里云的邮件推送服务提示上面这个错误的话&#xff0c;我先告诉你原因和目前能想到的解决方案。 解决思路&#xff1a; 1. 换企业邮箱&#xff0c;阿里的上限15M&#xff0c;网易的不知道&…

李晓菁201771010114《面向对象程序设计(java)》第十三周学习总结

理论知识&#xff1a;事件处理 1.事件源&#xff1a;能够产生事件的对象都可以成为事件源&#xff0c;如文本框&#xff0c;按钮等。一个事件源是一个能够注册监听器并向监听器发送事件对象的对象。 2.事件监听器&#xff1a;事件监听器对象接收事件源发送的通告&#xff08;事…

[css] 过渡和动画的区别是什么?

[css] 过渡和动画的区别是什么&#xff1f; 相同&#xff1a;都会让你的页面元素动起来 区别&#xff1a; 过渡 transition1.需要事件触发&#xff0c;比如hover&#xff0c;focus&#xff0c;checked , js改, media query 2.一次性的 3.只能定义开始和结束状态&#xff0c;不…

记一次 OOM 的原因和处理 出现大量 close_wait,项目无法访问 activeMq和 poi 出现的 OOM

大家好&#xff0c;我是烤鸭: 记一次项目无法访问的事件和处理。由于某个模块每隔几天就会出现无法访问&#xff0c;目前的最简单粗暴的方法就是重启。 1. 现象 项目内日志打印正常&#xff0c;经过dubbo的rpc服务和接口调用正常。http接口无法访问。提示nginx 502。 2.…

docker删除镜像和删除容器

删除容器&#xff1a;docker rm ID 删除镜像&#xff1a;docker rmi ID转载于:https://www.cnblogs.com/61355ing/p/10018498.html

[css] CSS中的calc()有什么作用?

[css] CSS中的calc()有什么作用&#xff1f; 用来计算长宽的属性,非常好用,百分比,px,vh/vm都可参与计算, 不过正如上面的大兄弟说的,运算符的左右要有空格,要不然不生效个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。…

fastjson导致的OOM

大家好&#xff0c;我是烤鸭&#xff1a; 今天又遇到OOM了,原因在于 fastjson 的 toJSONString。 这是线上的报错信息。 将这个 TotalLoanDTO 对象 toJSONString 导致的OOM。日志如下。 2019-10-31 12:07:49.896 [TID:285.93.15724948639339801] [XNIO-1 task-14] INFO [cla…