关于支付模块的一些异常
来源: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()没有打印?
012017-09-04
相似问题