关于支付模块的一些异常

来源:11-10 支付模块所有功能自测

指令狂人

2017-09-04

logger.info(params.toString());
try {
   logger.info("sign type is ",params.get("sign_type"));
   logger.info("sign is ",params.get("sign"));
   logger.info("publicKey is ",Configs.getPublicKey());
   logger.info("signType is ",Configs.getSignType());
   boolean alipayRSACheckedV2 = AlipaySignature.rsaCheckV2(params, Configs.getPublicKey(),"utf-8",Configs.getSignType());
   if(!alipayRSACheckedV2){
       return ServerResponse.createByErrorMessage("非法请求");
   }

1://调试过程中发现从params中获取sign为空字符串,令人惊讶的是在Configs里面的sign也是空字符串,Configs在pay接口不是已经初始化过了吗,并且在请求pay接口的时候也打印了相关的信息:

支付宝openapi网关: https://openapi.alipaydev.com/gateway.do

, 支付宝mcloudapi网关域名: http://mcloudmonitor.com/gateway.do

, pid: 2088102171404941

, appid: 2016081600257437

, 商户RSA私钥: MIIEvg******rE3rB/

, 商户RSA公钥: MIIBIj******IDAQAB

, 支付宝RSA公钥: MIIBIj******IDAQAB

, 签名类型: RSA2

, 查询重试次数: 5

, 查询间隔(毫秒): 5000

, 撤销尝试次数: 3

, 撤销重试间隔(毫秒): 2000

, 交易保障调度延迟(秒): 5

, 交易保障调度间隔(秒): 900

}

[20:19:57.392][INFO][com.listore.controller.OrderController][http-nio-8080-exec-9] sign type is 

[20:19:57.393][INFO][com.listore.controller.OrderController][http-nio-8080-exec-9] sign is 

[20:19:57.393][INFO][com.listore.controller.OrderController][http-nio-8080-exec-9] publicKey is 

[20:19:57.394][INFO][com.listore.controller.OrderController][http-nio-8080-exec-9] signType is 

为什么到了这里没有相关的信息呢,

2:但是进入boolean alipayRSACheckedV2 = AlipaySignature.rsaCheckV2(params, Configs.getPublicKey(),"utf-8",Configs.getSignType());这个方法里面调试的时候,是有上述两个sign和signType的,显示传过来的值为公钥和签名类型为RSA2结果返回的结果为alipayRSACheckedV2 = false;主要就这个两个点不知道怎么回事



写回答

1回答

指令狂人

提问者

2017-09-04

哦,整错了,应该是Configs.getAlipayPublicKey(),

还有一个问题就是,为什么在controller里面Configs.getSignType()没有打印?

0
1
Geely
搞定了就好~~赞,辛苦啦。 你说的没有打印是说?打印到哪里呢?控制台?
2017-09-04
共1条回复

从0开始 独立完成企业级Java电商网站服务端开发

前后端分离,数据库接口设计,架构设计,功能开发,上线运维

9487 学习 · 8814 问题

查看课程